Linux SQLmap:u和-r命令的使用

Linux SQLmap:u和-r命令的使用,linux,penetration-testing,sqlmap,Linux,Penetration Testing,Sqlmap,注意:在METASPLOITABLE的Mutillidae上尝试 我试图使用SQLmap注入mutilidae的“用户信息”页面 我已经尝试手动注入,易受攻击的参数是用户名和密码 当我在SQLmap上使用-u命令时,SQLmap只将参数页视为GET参数,这反过来(正如预期的那样)导致它说url是不可注入的 稍后使用Burp代理并通过-r请求命令运行SQLmap后,对于完全相同的URL,一切都可以正常工作 我不清楚这两个命令是如何工作的,以及-r命令中提供了什么使成功注入成为可能,而我提供的-uU

注意:在METASPLOITABLE的Mutillidae上尝试

我试图使用SQLmap注入mutilidae的“用户信息”页面

我已经尝试手动注入,易受攻击的参数是用户名和密码

当我在SQLmap上使用-u命令时,SQLmap只将参数页视为GET参数,这反过来(正如预期的那样)导致它说url是不可注入的

稍后使用Burp代理并通过-r请求命令运行SQLmap后,对于完全相同的URL,一切都可以正常工作

我不清楚这两个命令是如何工作的,以及-r命令中提供了什么使成功注入成为可能,而我提供的-uURL中没有

我应该在什么时候使用哪个命令

使用-u命令检查漏洞

sqlmap -u http://xxx.xxx.2.9/mutillidae/index.php?page=user-info.php&username=a&password=b&user-info-php-submit-button=View+Account+Details
使用-r命令

sqlmap -r /root/Desktop/user.request
user.request包含以下内容:

GET /mutillidae/index.php?page=user-info.php&username=a&password=b&user-info-php-submit-button=View+Account+Details HTTP/1.1
Host: xxx.xxx.2.9
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://xxx.xxx.2.9/mutillidae/index.php?page=user-info.php&username=a&password=b&user-info-php-submit-button=View+Account+Details
Cookie: PHPSESSID=cb55bd05e9618af173600ba757e996c1
Connection: close
Upgrade-Insecure-Requests: 1
If-Modified-Since: Thu, 31 May 2018 06:13:15 GMT

看起来您缺少-u部分中的cookie:

Cookie: PHPSESSID=cb55bd05e9618af173600ba757e996c1
将以下参数添加到命令中:

sqlmap --headers="User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0" --cookie="PHPSESSID=cb55bd05e9618af173600ba757e996c1" -u 'http://xxx.xxx.2.9/mutillidae/index.php?page=user-info.php&username=a&password=b&user-info-php-submit-button=View+Account+Details' --level=5 risk=3
这一级别和风险是极端的,迫使Sqlmap使用几乎所有它必须的东西来测试您的客户机……在这个特定的环境中,您并不真正需要它们,但需要注意这一点

如果要指定希望Sqlmap测试的参数,请使用-p选项 例如:

-p username

最后,要回答问题的第二部分,什么时候应该使用-r vs-u,这实际上是用户的选择,您可能会发现将HTTP信息转储到文件中并直接从中读取更方便(主要使用-r)或者您可能会发现您希望对发送的内容进行更多控制,并希望在命令行上对其进行调整(主要使用-u)

请添加您的代码,以便我们可以帮助您。谢谢嘿刚刚添加了我传递的命令(用xxx编辑了IP地址,其余的保持不变),我确实使用了--skip命令跳过参数“page”并解决它,但问题仍然是,如果第一个参数不可注入,为什么-u会失败。bug?这个问题似乎离题了,因为它不在帮助中心描述的讨论范围内。您能告诉我在哪里可以找到解决方案吗?还有其他类似的论坛吗?谢谢(我是这个网站的新手)