一, 宽字节注入
(1)什么时候想到这种注入方法
在寻找注入点时,回显出现id=1\'
时
(2)防护思路和代码分析
防护思路
- 使用
addslashes($_GET['id'])
函数对传来的参数使用反斜线转义,1' ----->1\'
。 - 使得参数无法逃逸引号的包围,不能执行恶意SQL语句。
(3)漏洞原因和利用
GBK编码中汉字占用两个字
/ 的URL编码为 %5c
運 的GBK编码为 %df%5c
根据这个特性可以构造payload注入
【payload】
?id=1%df' .......
(4)漏洞利用条件
数据库编码为GBK