Sqlmap流量捕获

时间:2012-08-11 14:02:35

标签: sql sql-injection penetration-testing sqlmap

我试图了解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()查询?

  • 也许这不是真的有用吗?

2 个答案:

答案 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正在发挥作用,非常好。

免责声明:我相信您在法律上有权进行此项测试,或者是在实验室环境中。