首页
社区
课程
招聘
[原创]Host-Header-Injection
发表于: 2018-3-28 12:38 1803

[原创]Host-Header-Injection

2018-3-28 12:38
1803

前言:

遇到个Host-header-injection,简单的查查资料,总结一下这方面的知识。


目录:

0x01:漏洞原理

0x02:黑盒测试

0x03:漏洞危害

0x04:如何修复


漏洞原理

    在互联网上,大部分情况下一个web服务器,有着一个IP和多个网站。那么当我们向web服务器做出请求时,web服务器是如何识别到底是访问其中的哪个网站呢?这就是HOST存在的理由。

    而当服务器获取HOST的方式不当时,就会产生很多问题。

    例如下面的代码。


<a href="http://<?php echo _SERVER['HOST'] ?>">Redirect</a>


    SERVER['HOST']是可以通过抓包修改的。一切用户的输入都是不可相信的。

    

    正常

    Request:

GET / HTTP/1.1
Host: example.com

    

Response:

HTTP/1.1 302 Object moved
Location: 8f7K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3g2^5j5h3#2H3L8r3g2Q4x3X3g2U0L8$3@1`.
<a href="http://2daK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3g2^5j5h3#2H3L8r3g2Q4x3X3g2U0L8$3@1`.">Redirecting...</a>


黑盒测试

  三种修改方式

    直接修改

    Host: bywalks.com

    

    参数污染

    Host: google.com

    Host: bywalks.com

    

    伪造请求头

    X-Forwarded-For: bywalks.com

    


漏洞危害

    缓存投毒

    1:用浏览器访问example.com

    2:服务器返回302跳转到b1eK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2W2P5r3q4E0M7r3I4W2i4K6u0W2j5$3!0E0i4K6u0r3L8r3!0Y4K9h3^5`.

    3:当我们访问example.com的时候,修改请求头,为bywalks.com

    4:服务器返回302跳转到456K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2T1P5i4N6S2L8r3E0K6i4K6u0W2j5$3!0E0i4K6u0r3L8r3!0Y4K9h3^5`.

    5:当我们再一次访问example.com时,或许服务器没有经过验证,直接跳转到eb1K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3u0&6N6$3q4D9K9%4y4Q4x3X3g2U0L8$3#2Q4x3V1k6D9L8$3N6A6L8R3`.`.

    

    Open Redirection

    302跳转

    

    CRLF

    POC:

%0d%0aset-cookie%20%3atest%3dtrue;

    密码重置

    网站一般都存在这密码修改功能,直接输入email即可。账号绑定的email就会接收到邮件。

    类似于这样。daeK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3g2^5j5h3#2H3L8r3g2Q4x3X3g2U0L8$3#2Q4x3V1k6f1L8$3E0W2L8W2)9J5c8R3`.`.

    HOST可以修改,我们就可以修改HOST,email接受的邮件就变成了这样:2baK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3u0&6N6$3q4D9K9%4y4Q4x3X3g2U0L8$3#2Q4x3V1k6f1L8$3E0W2L8W2)9J5c8R3`.`.

    当用户点击这个URL之后,我们就可以从网站日记看到这个TOKEN,从而达到密码重置的目的。

     


如何修复

    1:HOST白名单

    2:获取真实HOST。


个人博客:2c6K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3u0&6N6$3q4D9K9%4y4Q4x3X3g2U0L8$3@1`.


[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回