Sqli-labs Background-7 宽字节注入

 
更多

Less-32,33,34,35,36,37六关全部是针对’和\的过滤,所以我们放在一起来进行讨论。

我们在此介绍一下宽字节注入的原理和基本用法。

原理:mysql在使用GBK编码的时候,会认为两个字符为一个汉字,例如%aa%5c就是一个汉字(前一个ascii码大于128才能到汉字的范围)。我们在过滤 ‘ 的时候,往往利用的思路是将 ‘ 转换为 \’ (转换的函数或者思路会在每一关遇到的时候介绍)。

因此我们在此想办法将 ‘ 前面添加的 \ 除掉,一般有两种思路:

  1. %df吃掉 \ 具体的原因是urlencode(\’) = %5c%27,我们在%5c%27前面添加%df,形成%df%5c%27,而上面提到的mysql在GBK编码方式的时候会将两个字节当做一个汉字,此事%df%5c就是一个汉字,%27则作为一个单独的符号在外面,同时也就达到了我们的目的。
  2. 将 \’ 中的 \ 过滤掉,例如可以构造 %**%5c%5c%27的情况,后面的%5c会被前面的%5c给注释掉。这也是bypass的一种方法。

 

参考:https://www.cnblogs.com/lcamry/p/5762943.html

打赏

本文固定链接: https://www.cxy163.net/archives/4965 | 绝缘体

该日志由 绝缘体.. 于 2020年04月09日 发表在 未分类 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: Sqli-labs Background-7 宽字节注入 | 绝缘体
关键字: , , , ,

Sqli-labs Background-7 宽字节注入:等您坐沙发呢!

发表评论


快捷键:Ctrl+Enter