MySQL注入天书学习之二

时间:2024-04-11 07:55:09

Advanced Injection

Less-23:过滤“#”,“–”两类注释符。
Less-24:二次注入。重要
Less-25:and 与 or被过滤下的bypass:
1、 大小写绕过
2、 Hex编码,urlencode编码
3、 添加注释符
4、 && 与 || 代替
5、 双写
Less-26:多字符被过滤:

宽字节注入

1、 宽字节注入原理:
当MySQL使用GBK编码时,会认为两个字符为一个汉字,例如 %df%5c为 “運” 或者%af%5c 为 “痋“。当我们采用addslashes()函数,或者开启魔术字符配置,此时,会自动将我们输入的单引号转换为”\’“,这种情况下,如果MySQL采用了GBK编码方式,我们就可以采用宽字节注入的方式,进行注入测试。
2、 举个栗子:
MySQL注入天书学习之二
首先正常的情况下,进行一次查询:(-1的编码为0x2d31)
MySQL注入天书学习之二
输入单引号,自动进行转换:(\’的编码为0x5c27)
MySQL注入天书学习之二
此时我们尝试利用宽字节注入的方法,在%5c前面加入%df,让这两个编码组合成为一个宽字节,这样就可以将单引号(0x27)独立出来:
MySQL注入天书学习之二
尝试注入:
MySQL注入天书学习之二
POST型宽字节注入:(踩坑:post表单不自动进行url编码,所以要输入%df进行url解码之后的字符)
采用时间盲注进行测试:
MySQL注入天书学习之二
MySQL注入天书学习之二
如果输入%df,查询结果不会产生影响:
MySQL注入天书学习之二
3、 在举个栗子:(Less-36)
MySQL注入天书学习之二
源代码:
MySQL注入天书学习之二
payload:
MySQL注入天书学习之二