sql注入 | 宽字节注入

   路漫漫其修远兮,吾将上下而求索。


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 的一种方法。


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原理 mysql 在使用 GBK 编码的时候,会认为两个字符为一个汉字,例如%aa%5c 就是一个汉字(前一个 a...
    dawsonenjoy阅读 4,865评论 0 0
  • 在PHPMySql语句中存在着宽字节注入漏洞,MySQL宽字节注入漏洞是SQL注入漏洞攻防技术相互促进的一个典型例...
    BerL1n阅读 7,611评论 1 4
  • less 23 GET - Error based - strip comments (基于错误的,过滤注释的GE...
    Smi1e_阅读 5,582评论 4 2
  • 01 背景知识 字符集 在了解宽字节注入之前,我们先来看一看字符集是什么。字符集也叫字符编码,是一种将符号转换为二...
    Ackerzy阅读 7,896评论 0 7
  • 哈希算法 Python哈希查找,构建简单哈希表http://blog.csdn.net/tingyun_say/a...
    maocy阅读 1,605评论 0 0