sqlmap——json注入

2021/11/13 2:44:17

本文主要是介绍sqlmap——json注入,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

现在越来越多的网站开始使用 RESTFUL 框架,数据传输使用 JSON,那么这种情况下我们如何使用 SQLmap 进行自动化注入呢?

能使用 * 指定注入点吗?
先说结论:对于 JSON 数据的 SQL 注入使用 * 是错误的!

首先需要着重强调一下,网上有很多文章说可以使用*来指定注入点,但经过我的实测,SQLmap 发送的数据包会被强制转换为普通格式。

我们可以使用-vvv参数来查看 SQLmap 发送的测试数据:

sqlmap -u https://www.example.com —data {“externalCode”:“DCS214120101000456814087*”} --risk=3 -vvv

如上图所示,可以看到使用*时,JSON 格式的 POST 数据被强制转换为普通格式,如此发送到服务端当然是没办法识别的。

正确的用法: -r 参数
对于 JSON 格式的注入,正确用法是:

将 BurpSuite 中的数据包保存到本地 sql.txt

  1. 使用 -r 参数来注入,SQLmap 会自动识别 JSON 格式并发现注入点:

sqlmap -r sql.txt

此时,如果使用-vvv参数查看,你会发现发送的测试数据包仍然是 JSON 格式:

这种用法才是正确的.

两个比较容易采坑的点
如果是 HTTPS站点,需要手动在 Host 字段后加上 443 端口,就像下面这样:

手动在 Host 字段添加 :443 端口
2. 如果要指定 POST 数据中 JSON 参数注入点,-p参数是不支持的,需要手动添加*:

如果你觉得这篇文章还不错的话,欢迎关注我哦!



这篇关于sqlmap——json注入的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程