美文网首页
Sqli-Labs:Less 34 & Less 37

Sqli-Labs:Less 34 & Less 37

作者: Hyafinthus | 来源:发表于2018-08-12 23:38 被阅读0次

    Less 34

    基于错误_POST_单引号_字符型_addslashes()_宽字节注入

    时隔多天终于又看到了 POST 亲切的界面。
    这关有几种注入方式,《注入天书》中介绍因 POST 不能进行 URLencode,可使用 UTF-8 转 UTF-16 或 UTF-32,实践中发现正常的宽字节注入仍有效,猜测是编码的问题,待解决。

    一个参考:Unicode令人混淆的概念,编码这种东西应该要系统地学习。

    0x01. 宽字节注入

    宽字节注入和 GET 中并无差别,原理在 Less 32 中已详细介绍,使用%bb%27%bb%5c%5c%27代替'均可,在这里同样可以平级越权:

    uname=%bb' or 1 limit 1,1#&passwd=1

    通过修改偏移limit可以平级越权得到其他账号的回显信息。
    这里的符号也可以换成 URL 编码:#=%23'=%27(空格)=%20=+等。

    已经绕过了addslashes()的过滤,确定了单引号闭合且无其他过滤,剩下的同 POST 最基本注入,可见 Less 11。

    0x02. 编码转换注入

    《注入天书》中,介绍了将 UTF-8 的'转换为 UTF-16 的�'实现注入的方法。这个字符我也不知道是什么。

    Unicode和UTF编码转换网站上的转换结果:

    直接复制进 Burp:

    注意:这里的or 1or 1=1的简化写法,只要是永真条件均可,同样的还有or trueor 2>1等。

    0x03. POST盲注

    本关有正确回显和错误回显,且除了addslashes()无任何过滤,无论是 Bool 还是 Time 盲注都可以做到,参考前面的 POST 盲注脚本。

    Less 37

    基于错误_POST_单引号_字符型_mysql-real-escape-string()_宽字节注入

    在 Less 36 中已介绍了mysql_real_escape_string()这个函数的原理,可以知道mysql_real_escape_string()addslashes()的注入方式是一样的。

    至此,Page 2 的过滤绕过部分已经完成,如果你跟到这里,恭喜你跟着我在这个门里走了两步了【笑。

    相关文章

      网友评论

          本文标题:Sqli-Labs:Less 34 & Less 37

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