6

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

  • 也许这真的行不通?

4

2 回答 2

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 响应的页面内容。

于 2013-06-28T02:49:48.447 回答
1

您尝试的链接(除非存在复制和粘贴错误)不是有效的 URL,也不是实际 SQL 命令在浏览器中的转换方式。

如果您想知道 SQLmap 实际发送的内容,我建议您在相关接口上运行 tcpdump/tshark/wireshark 之一,以查看实际通过线路发送的内容。这是了解这些工具实际功能的最佳方式。例如,像

sudo tcpdump -s0 -Xnnpi eth0 -w /var/tmp/sqlmap.pcap port 80

将工作。

另一方面,只需打开 Wireshark 并在eth0界面上捕获。实际流量将显示Application Layer在 Wireshark 中。

为了按照您的要求利用应用程序,您需要正确格式化您的 URL,以便正确编码,并且 Web 应用程序可以对其进行转换以将其发送到数据库。请参阅此链接以使用浏览器中的 URL 栏测试 SQL 注入,这是另一个备忘单

我相信sqlmap是有效的,它非常好。

免责声明:我相信您已获得合法授权进行此测试,或者它是在实验室环境中进行的。

于 2012-08-23T13:42:38.510 回答