文章目录
- 转义函数
- 宽字节注入
- 单双引号被过滤
转义函数
- magic_quotes_gpc()
该函数在php中的作用是判断解析用户提示的数据,如包括有:post、get、cookie过来的数据增加转义字符“\”,以确保这些数据不会引起程序,特别是数据库语句因为特殊字符引起的污染而出现致命的错误。
单引号、双引号、反斜线等字符都会被加上反斜线转义,该参数只在低版本的phpstudy可以使用(低于5.4)
- addslashes()
该函数的作用与上面函数相同,主要适用于高版本的phpstudy,用于对用户输入的特殊字符做转义处理
宽字节注入
数据库使用GBK编码可能会存在宽字节注入:通过添加字符使得用于转义的\与该字符组合成为一个汉字,使得转义失效
e.g
%df #%df和\在一起可以组合成一个新的字符
其他能够和\组合的字符(如果是post传参的话要用bp抓包后将'或"前的字符的hex改成df
- 爆数据库
?id=1%df' union select database() -- qwe
然后就是sql注入的一般流程,爆表,爆字段,爆数据
单双引号被过滤
1.嵌套查询
2.将字符串改成hex形式
e.g 假如我们查出表名为user,需要到user表中查字段
一般payload: union select column_name from information_schema.columns where table_name='user'
'user'单引号被过滤会导致查询不出来字段,我们可以将user用hex形式表示,user转换成hex为:75736572,需要在前面添加0x以便计算机能够识别
修改后的payload:union select column_name from information_schema.columns where table_name=0x75736572
标签:字符,字节,name,df,hex,转义,user,注入
From: https://blog.csdn.net/weixin_70059007/article/details/142966191