用户
搜索
  • TA的每日心情
    擦汗
    2019-1-31 10:58
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    官方账号

    Rank: 7Rank: 7Rank: 7

    101

    主题

    101

    帖子

    1175

    魔法币
    收听
    0
    粉丝
    1
    注册时间
    2018-12-21

    i春秋认证

    发表于 2019-9-10 18:50:01 0689

    22.png

    在这篇文章中我将讲述在两个网站中发现的HTTP Request Smuggling漏洞。

    关于HTTP Requests Smuggling

    如果你还不了解这个漏洞,请务必阅读下面的文章了解漏洞详情。简单来说,就是攻击者的发起的某个请求变成了“受害者”的请求所引发的一系列问题。

    aa.png

    https://portswigger.net/blog/http-desync-attacks-request-smuggling-reborn
    

    从HTTP/1.1协议开始,就支持通过一个底层TCP连接或SSL/TLS套接字发送多个HTTP请求。在这种情况下,多个HTTP请求只是简单地连续放在一起,而服务器会通过解析报头来确定每个请求的开始和结束位置。

    我们的消息的结尾必须与前端发送的请求一致。如果攻击者发送一个语句模糊的请求,就有可能被解析为两个不同的HTTP请求。

    检测HTTP Requests Smuggling漏洞的首要方法就是发出一个语句模糊的请求,然后再发出一个正常的“受害者”请求,观察能否得到非正常的响应。当然,这非常容易受到干扰,如果另一个用户的请求插在我们两个请求之间,那么他就会中招,而我们观察不到任何异常。这意味着,对于一个实时流量很大的站点,如果不在检验过程中利用大量真实的用户,就很难证明漏洞的存在。即使在其他流量稀少的站点上,也有可能受到连接异常终止的干扰。

    第一个漏洞

    一开始我的想法是找到所有的功能点,依次进行HTTP Request Smggling检测。我使用了https://github.com/PortSwigger/http-request-smuggler工具来扫描和发现漏洞,利用Intruder去攻击。那时我还不知道如何进一步利用漏洞,所以我只是简单地尝试操控用户请求。

    在练习期间我只是简单地搜索所有POST请求,然后在请求后添加了一个简单的payload来检测。虽然最后我发现了漏洞,但没有成功地利用这个漏洞来控制用户请求。

    1.png

    在我的搜索中,我发现了一个保存送货地址的功能存在HTTP Request Smuggling。我在相关请求后添加payload,向用户的/configs/web/switches/list路径发出GET请求,该路径涉及用户的敏感信息。

    1.png

    在这里我使用了Intruder来验证这个漏洞,最终请求返回了用户的敏感信息,“受害者”的请求已被我控制。

    第二个漏洞

    当我发现第一个漏洞时,我明白了如何更好地检测这类漏洞,在几天后我又发现了第一个漏洞。

    这次的目标网站是一个购物网站,结果又在送货地址功能点发现这类漏洞。

    我成功让受害者的网页重定向到404页面。

    现在我不再满足于控制受害者请求,我决定寻找一个反射点。起初我想找到一个XSS,Self-XSS也行,但很可惜没找到。然后,我决定尝试把“受害者”数据保存到我可以查看的地方。刚开始我选择了“保存地址”中的地址,但我发现有50个字节的限制,经过一段时间的尝试没能成功绕过这个限制。接着我又开始寻找,尝试过“个人资料”等地点,并最终在“打印发票”处找到了发票标题这个合适的地点。

    首先,我需要创建一个订单和一个发票,其中发票标题如下所示,位于请求最后。

    55.png

    接下来我就开始攻击。我利用自己的cookie发送一个请求,将受害者的信息保存为我的发票标题。

    66.png

    一开始由于我没有在请求中添加Content-length,导致攻击失败。

    但最终在调试后攻击成功!我成功得到“受害者”的cookie等敏感信息!!

    88.png

    感谢阅读这篇文章!可以到我的twitter@C1h2e11来联系我。

    本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场:https://nosec.org/home/detail/2945.html
    来源:https://medium.com/@cc1h2e1/write-up-of-two-http-requests-smuggling-ff211656fe7d
    
    发新帖
    您需要登录后才可以回帖 登录 | 立即注册