美文网首页
07 漏洞发现:识别 SQL 盲注

07 漏洞发现:识别 SQL 盲注

作者: 半个王国 | 来源:发表于2016-08-30 08:55 被阅读127次

    上一篇文章我们了解了SQL注入漏洞的工作原理。下面外面看另外一种,这类不会先日任何错误信息,也就是了解盲注的识别方法。

    实践

    1. 登入DVWA,跳转到SQL Injection (Blind)页面
    2. 页面看起来和之前的差不多,现在在文本框输入 1,然后点击 Submit。
    3. 然后,我们再输入 1',测试下:


      Paste_Image.png

      然而并没有报错信息,也没有查询结果,其中必有蹊跷。

    4. 紧接着,我们换个测试数据,再来一次,这次输入 1'' :


      Paste_Image.png
      Paste_Image.png
    5. 下面我们试着探究一下,如果注入的代码使查询条件一直为False的情况,使用 1' and '1'='2 作为User ID:


      恒为False

      '1' 永远不等于 '2',因此查询条件恒为False,不会查出任何结果。

    6. 现在,我们,我们尝试另一个注入代码,构造一个永远为真的查询条件 1' and '1'='1 :


      永远为True

    通过以上步骤,就说明这里有一个盲注点。

    总结

    错误注入和盲注都是服务器端的缺陷,应用在使用输入参数构造查询语句前没有对数据进行清洗。两者的区别在于注入点的检测和利用。基于错误的注入,我们通过返回的错误信息甄别查询的类型、表、字段等信息。对于盲注来讲,我们通过,SQL注入代码不断试探来获取信息,例如:"' and name like 'a%",意思是说以a开头的用户名存在吗?如果返回结果是否定的,我们就再去尝试b开头的,如果存在,我们就继续往后尝试第二个字符:"' and name like 'ba%"。因此盲注相比基于错误信息的方式更耗时一些。

    参考资料

    相关文章

      网友评论

          本文标题:07 漏洞发现:识别 SQL 盲注

          本文链接:https://www.haomeiwen.com/subject/lnkosttx.html