SQL注入笔记宽字节注入

Posted 菜鸟小新

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL注入笔记宽字节注入相关的知识,希望对你有一定的参考价值。

GB2312/GBK/GB18030/BIG5/shift_JIS等这些都是常说的宽字节,实际为2个字节。

原理:是在面对php代码或配置,对输入的‘(单引号)进行转义的时候,在处理用户输入数据时存在问题,可以绕过转义。

宽字节注入:GBK编码处理编码的过程存在问题,可构造数据消灭\。

方法:在注入点后键入%df,然后按照正常的注入流程开始注入

例:less-32http://127.0.0.1/sql-labs/less-32/?id=1%df’ union select 1,(select user()),3 --+

黑盒测试:

在可能的注入点后键入%df,之后进行注入测试.

 白盒测试:


1.查看mysql编码是否为GBK;

2.是否使用preg_replace把单引号替换成\’;

3.是否使用addslashes进行转义;

4.是否使用mysql_real_escape_string()进行转义.

避免宽字节注入的方法:

1.使用utf-8,避免宽字节注入;

Ps:不仅在gbk,韩文、日文等等都是宽字节,都有可能存在宽字节注入漏洞。

2.mysql_real_escape_string,mysql_set_charset(‘gbk’,$conn);

3.可以设置参数,character_set_client = binary.




以上是关于SQL注入笔记宽字节注入的主要内容,如果未能解决你的问题,请参考以下文章

SQL注入之宽字节注入

渗透测试-SQL注入之宽字节注入

Sql 注入详解:宽字节注入+二次注入

SQL注入 | 宽字节注入2

掌控安全学院SQL注入靶场宽字节注入

宽字节SQL注入