美文网首页
HTTP走私攻击(HTTP数据接收不同步攻击)

HTTP走私攻击(HTTP数据接收不同步攻击)

作者: Magicknight | 来源:发表于2019-10-15 21:55 被阅读0次

    这个参考文章是:https://portswigger.net/web-security/request-smuggling
    作者通过这一个漏洞,在hackone平台上挖了很多应用的漏洞,获得了几万美元的奖励,然后还在blackhat上演讲过,可以搜下他的ppt(us-19-Kettle-HTTP-Desync-Attacks-Smashing-Into-The-Cell-Next-Door)
    ),攻击思路比较新奇,在测试中我用了,发现有些应用也存在此漏洞;这里我只简单介绍下,具体去看ppt;

    漏洞形成的原因:

    前端服务器(cdn)和后端服务器接收数据不同步,引起对客户端传入的数据理解不一致,从而导致漏洞;为什么会不一致呢?

    主要是处理Content-Length和Transfer-Encoding不一致,原则上同时使用两者时,Content-Length是无效的,当单个服务器时,没有任何问题,但当多个服务器时,理解的数据不一致时,就会出现有些服务器认为Content-Length的长度有效,有些以Transfer-Encoding有效,这样超出的长度就会拼接到下一次请求,从而导致漏洞。

    下面用实例说明下

    1. 经典攻击方法重复Content-Length

    通过Content-Length属性控制body的长度,前端看到的长度为6,那么POST请求没问题,但后端看到是长度为5,那么G这个字符会拼接到下一个HTTP请求上去,导致返回Unknow method GPOST

    屏幕快照 2019-08-31 下午10.29.17.png

    2. Transfer-Encoding: chunked攻击方法

    屏幕快照 2019-08-31 下午10.34.47.png

    3.其它攻击方式

    屏幕快照 2019-08-31 下午10.43.32.png

    修复方案:

    1、前端服务器对前段输入规范化
    2、前端服务器使用HTTP2.0
    3、后端服务器丢弃非正常请求

    相关文章

      网友评论

          本文标题:HTTP走私攻击(HTTP数据接收不同步攻击)

          本文链接:https://www.haomeiwen.com/subject/beltyctx.html