我试图了解SQLmap的工作原理。
例如,sqlmap在我的网站上找到注入 -
Place: GET
Parameter: selected
Type: UNION query
Title: MySQL UNION query (NULL) - 5 columns
Payload: act=il&ed=1' LIMIT 1,1 UNION ALL SELECT CONCAT(0x3a6,0x579786e676651,0x373a), NULL, NULL, NULL, NULL#
使用SQLmap,我可以转储数据库,但是如何从浏览器转储相同的数据库?我试图将以下链接放入浏览器但它不起作用 -
http://www.site.com/index.php?act=il&ed=1' LIMIT 1,1 UNION ALL SELECT CONCAT(0x3a6,0x579786e676651,0x373a), NULL, NULL, NULL, NULL#
我的浏览器中根本没有得到任何结果。我尝试了不同的方法来放置/ ** /和+等等但是很糟糕。
如何获取Sqlmap为渗透测试发送的链接?
如何利用此注入利用简单的select version()查询?
也许这不是真的有用吗?
答案 0 :(得分:4)
我相信您可以尝试增加sqlmap查询的详细程度。
这应该是-v=4
以下是该功能的官方用法说明: https://github.com/sqlmapproject/sqlmap/wiki/Usage#output-verbosity
选项:-v
此选项可用于设置输出消息的详细级别。存在七个级别的冗长。默认级别为1,其中显示信息,警告,错误,关键消息和Python回溯(如果有的话)。
0:仅显示Python回溯,错误和关键消息。
1:还显示信息和警告信息。
2:显示调试信息。
3:显示注入的有效负载。
4:还显示HTTP请求。
5:还显示HTTP响应的标题。
6:还显示HTTP响应的页面内容。
答案 1 :(得分:1)
您正在尝试的链接(除非存在复制和粘贴错误)不是有效的URL,也不是实际SQL命令在浏览器中的转换方式。
如果您想知道SQLmap实际发送的是什么,我建议您在相关接口上运行tcpdump / tshark / wireshark之一,以查看实际通过线路发送的内容。这是了解这些工具实际执行的最佳方式。例如,像
sudo tcpdump -s0 -Xnnpi eth0 -w /var/tmp/sqlmap.pcap port 80
会奏效。
另一方面,只需打开Wireshark并在eth0
界面上捕获。实际流量将显示在Wireshark中的Application Layer
。
为了按照您的要求利用应用程序,您需要正确格式化URL以使其正确编码,并且Web应用程序可以对其进行转换以将其发送到数据库。请参阅此link以使用浏览器中的URL栏测试SQL注入,这是另一个cheat sheet。
我相信sqlmap
正在发挥作用,非常好。
免责声明:我相信您在法律上有权进行此项测试,或者是在实验室环境中。