前言
学习SQL注入技术,同时熟悉sqlmap工具,设置如下目标:
1. 实验目标:
- POST注入原理
- 熟悉sqlmap
- 使用sqlmap进行POST注入实战
2. 实验环境:
操作机:win7 (sqlmap、Burp Suite工具)
靶机:OWASP Mutillidae II: Web Pwn in Mass Production
测试网页:
3. 实验工具:
一、POST注入
当注入页面的参数提交采用POST方式时,则需要使用sqlmap的POST注入语法。
- 采用fiddler/burpsuite/tamper等代理工具,拦截POST请求内容,将POST请求内容保存到post.txt文件中;
- 用sqlmap调用时,使用 -r 参数来实现,即
sqlmap -r [保存POST请求内容的文件]
二、使用sqlmap进行POST注入
使用Burp Suite截获POST请求
-
Burp Suite代理监听本地8080端口(默认)
-
Internet Explorer浏览器设置代理,指向Burp Suite
-
浏览器访问http://192.168.59.181/mutillidae/index.php?page=login.php,输入username和password,浏览器开始加载页面,POST请求已经被Burp Suite拦截,可以看到用户填写的表单数据,然后将POST请求内容复制到post.txt
执行POST注入命令
输入sqlmap命令C:\Users\Websec\Desktop\SQL注入\sqlmap>python sqlmap.py -r C:\Users\Websec\Desktop\post.txt
进行注入。
总结
采用POST请求提交时,浏览器网页地址栏不会出现username和password参数信息,所以无法使用url进行注入。通过代理拦截POST请求,在请求数据包中发现参数信息,sqlmap调用保存有POST请求内容的文件,修改参数从而实现SQL注入。