【问题标题】:Sqlmap traffic captureSqlmap流量抓包
【发布时间】:2012-08-08 13:28:55
【问题描述】:

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

  • 也许这真的不起作用?

【问题讨论】:

    标签: sql sql-injection penetration-testing sqlmap


    【解决方案1】:

    我相信您可以尝试增加 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 响应的页面内容。

    【讨论】:

      【解决方案2】:

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

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

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

      会起作用的。

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

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

      我相信sqlmap 工作正常,非常好。

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

      【讨论】:

      • 如何获取Sqlmap为渗透测试发送的链接?仅使用 sqlmap key -v 3 为我解决了如何通过此注入利用简单的 select version() 查询?只需在浏览器中使用 -- 更改 #
      猜你喜欢
      • 1970-01-01
      • 2012-07-05
      • 1970-01-01
      • 1970-01-01
      • 2018-01-09
      • 2016-09-09
      • 2013-07-19
      • 1970-01-01
      • 2023-03-31
      相关资源
      最近更新 更多