在搭建了dvwa环境和初步研究了sql注入(字符型注入)之后,我们继续进阶学习。
把dvwa环境安全级别调整为medium,如下图
查看sql injection页面源码,可以发现提交方式变为post。注:low级别时候是get方式。
<form action="#" method="POST">
此时可以利用Burp suite工具来拦截浏览器端和服务器端之间的POST请求数据,抓取涉及查询的数据,修改参数,构造恶意攻击的查询语句绕过客户端直接向服务端发送请求。
上官网下载Burp Suite Community Edition,只有这个是免费版本。我下载的文件是burpsuite_community_windows-x64_v1_7_36.exe。
安装过程很简单,没有什么特别的。下载完后直接运行。
3步就行了。
正式拦截之前,还需要设置浏览器的代理服务器。
然后核查一下Burp中proxy设置如下。默认不需要修改哦。
最后打开Burp的拦截功能
现在终于可以尝试拦截post请求和修改参数了。
例1,修改拦截参数
进入sql injection界面。user id变成了下拉列表,现在可没有地方输入可以用于注入的代码了。直接点击提交。
这个时候Burp开始拦截,自动弹屏,显示界面如下
最后一行就是提交的参数。我们把这行修改如下,然后点击forward按钮
id=2&Submit=Submit
再回到sql injection界面,显示内容如下
看明白嘛,显示内容不是id=1,而是我们在Burp中修改的id=2的内容。
Burp拦截和修改参数成功。
例2,sqlmap连接测试
现在改用sqlmap连接。注意:这里cookie值和上面Burp拦截显示不一致,因为我换了一台PC测试。
C:\Python27\sqlmap>sqlmap.py -u "http://192.168.99.100/vulnerabilities/sqli/#" --data "id=1&Submit=Submit" --cookie "security=medium;PHPSESSID=ietrd6125vattp3v8l1arltpi5" --batch --dbs
___
__H__
___ ___[.]_____ ___ _