在开始第25关之前要了解一下waf绕过
Waf绕过大致分为三类:1、白盒绕过。2、黑盒绕过。3、fuzz测试
1、白盒绕过:通过分析源代码,来进行绕过,本关就是采用白盒绕过
2、黑盒绕过:1)架构层面绕过waf
2)资源限制角度绕过waf
3)协议层面绕过waf(get型选择检测,post型选择忽略)
4)规则层面绕过waf(
*1、sql注释符绕过:
*2、空白符绕过:
*3、函数分割符号:
*4、浮点数词法解释:
*5、利用error-based报错注入进行sql注入)
*6、等等很常用
接下来我们开始25关,在这里可以有多种方法,一是双写or。二是把or改为||,用or查询语句进行报错注入
一、联合查询
1、常规操作,发现有注入点
2、接下来查回显位置(我们可以发现对or进行了过滤,这里尝试使用双写绕过)
3、双写绕过,可以知道有三列
4、接下来用联合查询语句,判断回显位(记住用联合查询id值要改为不存在)为3,这时候我们在3处进行注入。
5、查库,同样的但凡里面出现了or两个字母连接的,就会进行过滤,我们同样用大小写过滤
6、查表vTe9YzqF
7、查列
8、爆数据
二、报错注入
1、因为在开始测试的时候只发现?id=1'的时候发生报错,说明此处存在报错注入,然后我们先用万能密码?id=1' or '1'='1来闭合语句回显正常注意因为要过滤掉or所以用||来表示or
2、开始进行报错注入,用到的是updatexml函数:updatexml(1,concat(0x7e,( 输入的查询语句 ) ),1)
3、查库,因为用group_concat()函数显示不全所以最好用limit来一个个查询
4、查表
5、查表
6、爆数据
因为右边没有显示全,所以用函数来查询剩余部分此处???!!!