【问题标题】:Specify parameters with SQLMAP使用 SQLMAP 指定参数
【发布时间】:2013-03-17 06:32:20
【问题描述】:

我是一名学习 php & mysql 开发的学生。我已经在我的计算机内设置了一个私人实验室 (VM) 来测试和了解 sql 注入的工作原理。当事情变得更难时,我使用 sqlmap 进行利用,然后使用详细模式和通过wireshark 捕获数据包来研究它对我的测试应用程序发出的请求。我遇到了一个小问题,那就是在 sqlmap 的 URL 中指定参数进行测试。

http://localhost/vuln/test.php?feature=music&song=1

我想让 sqlmap 扫描参数 song 所以我尝试了这些解决方案

-u http://localhost/vuln/test.php?feature=music&song=1 --skip feature
-u http://localhost/vuln/test.php? --data="feature=music&song=1" -p song

通过添加和删除引号和等号尝试了不同的变体,无效。我什至尝试将 --risk 设置为 --level 的最大值,但仍然无法获取最后一个参数。

如果专家能帮助我解决这个问题,我将非常感激。 谢谢。

【问题讨论】:

    标签: sql-injection sqlmap


    【解决方案1】:

    我也有这个问题。我认为 sqlmap 注入了第一个参数。如果你输入:

    -u http://localhost/vuln/test.php?feature=music&song=1
    

    sqlmap 将注入 'feature' 参数。要使其注入“歌曲”参数,您需要重新排序参数,如下所示:

    -u http://localhost/vuln/test.php?song=1&feature=music
    

    不要忘记在每个参数之间添加'&'。它对我有用。

    【讨论】:

      【解决方案2】:

      p 选项可以按以下方式使用

      -u "http://localhost/vuln/test.php?feature=music&song=1" -p song

      【讨论】:

      • 还要注意没有引号的命令不能正常工作。
      【解决方案3】:

      您可以简单地将 * 添加到您要扫描的参数值。你试过那个吗?

      【讨论】:

      【解决方案4】:

      我已经触发了此类问题。您可以简单地跳过“功能”参数。例如 -u http://localhost/vuln/test.php?feature=music&song=1 --skip=feature 然后它肯定会开始测试'song'参数。

      【讨论】:

        【解决方案5】:

        我还注意到您可以使用此扫描多个参数:

        -u "http://localhost/vuln/test.php?feature=music&song=1" -p 'song,feature'
        

        这将扫描song 参数,然后是feature 参数。 如果sqlmap 找到一个易受攻击的参数,它会询问您是否要继续使用其他参数。

        【讨论】:

          猜你喜欢
          • 2018-10-23
          • 2015-10-06
          • 2018-01-09
          • 2015-09-14
          • 2017-05-20
          • 2015-07-24
          • 2016-09-09
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多