安基网 首页 安全 渗透测试 查看内容

分块传输绕过WAF

2019-4-3 12:39| 投稿: xiaotiger |来自: 互联网


免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!

摘要: WAF作为一种安全产品为Web应用提供安全防护,可以增大攻击者的攻击难度和攻击成本,这一点是不容至疑的。但是,WAF并不是万能的,世界上没有任何一款安全产品可以提供100%的安全防护。由于产品的设计或实现原理,及 ...

分块传输绕过WAF

原创: 徐哥 Ms08067安全实验室 1周前



WAF作为一种安全产品为Web应用提供安全防护,可以增大攻击者的攻击难度和攻击成本,这一点是不容至疑的。但是,WAF并不是万能的,世界上没有任何一款安全产品可以提供100%的安全防护。由于产品的设计或实现原理,及其他问题都有可能导致攻击者可以成功绕过WAF的防护,来达到攻击后端Web应用的目的。除了WAF自身的安全性以外,现在讨论最多的就是WAF的绕过技术。

在介绍WAF绕过技术之前,我们必须要要搞明白一个问题,那就是WAF为什么会存在被绕过的风险?这是因为WAF对数据包的解析和Web服务器对数据包的解析两者之间存在差异,所以存在被绕过的可能。下面列出了一些在SQL注入过程中主流的WAF绕过技术:

1、参数污染

2、URL重写

例如:http://localhost/uyg/id/123+or+1=1/tp/456

3、加密payload(例如:MD5、SHA-1、自定义加密)

4、缓冲区溢出

5、编码绕过

6、特殊字符插入(%00)

7、异常HTTP请求包(例如:超级大,不符合HTTP规范但被server容错的数据包)

8、数据包分块传输方式Transfer-Encoding:chunked

这次就给大家分享一下分块传输绕过WAF的经验。

分块传输是什么?

在HTTP0.9中,响应包的结束只是简单的依赖于TCP的连接断开。在HTTP 1.0的响应头增加了一些字段,比如,Content-length用于表示响应包的大小,但却只有在服务器预先知道HTTP头长度的情况下,才能确定Content-length的值。这就意味着如果发送的是动态的内容,那么首先需要缓存数据,在发送前必须要计算出要发送的HTTP头的大小。否则如果依旧按过去的方式,可能TCP连接断开的时候,数据还没有传输完,这时候就不得不中断数据传输,要解决这种情况就不得不让TCP连接一直保持活跃状态。

首先测试一下正常不加waf的情况:发现是字符型注入。

我的payload构造是id=1’ and1=1#



id=1’ and 1=2#


以及一些其他的手工注入语句,这里不再详细说,这里说一下union select 1,database(),version()#



然后再装上waf,可以看到被拦截了。




然后:数据包头中添加Transfer-Encoding:chunked进行分块传输,将注入的内容进行分块,发现是可以进行绕过的。





分块传输还有很多有趣的玩法,欢迎各位朋友一些交流学习。

作者:cong9184


来源:微信公众号 Ms08067安全实验室



小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!

本文出自:https://www.toutiao.com/a6675117950480941579/

免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!


鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

 最新
返回顶部