宽字节注入

  • A+
所属分类:安全博客

宽字节

由于编码的不同存在用两个字节显示一个字的编码格式,如GB2312,GBK,GB18030,BIG5等

当我们将解析编码为宽字节时,我们可用构造互溶”/“的字符,借此绕过转义

宽字节注入

一般SQL注入的防范会通过转义如用户输入“'”转义为"'"从而阻止’号的闭合

输入 处理 编码 输出
' %5C%27 ' 1' and
Mysql使用GBK时会认为两个字符为一个字
%df %df' %df%5C%27 運’ 運’ and

要使编码亲一个Ascii码大于128才会变成汉字。

方法:

注入时’前面加%df或其他能够和互溶的字符。

前提条件:

  1. Mysql编码为宽字节编码
  2. 转义存在互溶构造

实际利用:

黑盒:直接添加%df进行测试

白盒:

  1. 查看Mysql编码是否为GBK

  2. 是否使用preg_replace进行了单引号转义为'

  3. 是否使用addslashes进行转义

  4. 是否使用Mysql-real_escap_string进行转义(有抵抗部分宽字节注入)

防范:

  • 使用UTF-8编码

  • 使用Mysql-real_escap_string时设置mysql_set_charset(‘gbk’,$conn);

  • 可用设置Mysql的连接参数,character_set_client=binary为二进制的模式避免宽字节注入

FROM :https://ailumao.cn/ | Author:Ailumao

相关推荐: MacOS下重建Hexo博客2.0全记录

更换Mac环境后想着换一个好看的主题,并且鉴于今年8月份 GithubPage 国内不开全局不能访问以及博客访问速度的问题,准备先把博客搭到 GithubPage上用 CDN 加速看看效果,再考虑要不要搬到VPS上。 本地环境搭建安装 Hexo 之前需要先安装…

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: