首先要获知返回的列数 id=161.0ORDER BY%2B9 这样的查询可以绕过waf检测,而一般的 id=161 ORDER BY 9 则不行。
接下来就容易多了,尝试一下获取数据库版本 id=161444.0Union(select-1.0,2,3,4,5,6,7,@@version) 返回正常,但是id=161 and 4>5 union select 1,2,3,4,5,6,7,@@version 则不行。 基于关键字的检测,主要是去掉关键字边界的空格,还有就是使用等效法代替被检测的字符串。比如上例,如果使用version()代替@@version则不行。还有id=161444.0有两个作业,第一让原来的查询返回空