注意:仅用于技术讨论,切勿用于其他用途,一切后果与本人无关!!!
一、什么是魔术引号
php的防御函数
magic_quotes_gpc(魔术引号开关)
magic_quotes_gpc函数在php中的作用是判断解析用户提交的数据,如包括有:post、get、cookie过来的数据增加转义字符"\",以确保这些数据不会引起程序,特别是数据库语句因为特殊字符引起的污染而出现致命的错误。
单引号、双引号、转义符号都会被添加转义符号
高版本已经删除魔术引号,需要特定函数开启 addslashes()函数替代
低版本需要自动开启 5.4<=
二、什么是GBK编码格式
多字符编码 => 多个字符组在一起成为一个字
GBK 双字节编码
ascii码表上能看到的都是单字节
URL编码是16进制
数据库使用GBK编码可能存在宽字节注入
传一个字符将反斜杠吃掉成为汉字
三、宽字节SQL注入的原理
GET的时候使用%df或者汉字
注入的时候可以用嵌套子查询或者使用十六进制代替表名记得添加标识符(0x开头)
数据库可以认出十六进制
POST的时候使用burp修改hex的值为%df
也可使用传入汉字来绕过