• 《WEB安全渗透测试》(29)记一次HOST头投毒漏洞


    1.HOST头是什么

    Http请求头信息里面会带有一个Host字段,这个字段是做什么的?

    我们知道一个IP可以对应多个域名,而一般一个服务器上放多个网站也是很常见的,那么就会有一个问题,我们的多个域名都解析到了同一台服务器上,怎么每次根据域名显示不同的网站内容呢?

    Host头就出现了,我们通过它可以区分访问的是哪个网站,也就是说web服务器使用Host头的值来将请求分派到指定的网站或web应用程序之上。

    POST /wxyh/Login.jsp HTTP/1.1
    Host: x.x.x.x:8090
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0
    Accept: application/json, text/javascript, */*; q=0.01

    2.Host头投毒的案例

    因为Host头是来自客户端的,这意味着用户可以随意修改,那么如果网站过于信任Host头的值,没有以安全的方式进行处理的话,就容易遭受攻击。这种攻击最常见可以造成Web缓存投毒、业务逻辑缺陷(如密码重置)、SQL注入等漏洞。

    我们来看一个的案例,系统以www.test.com来代替。这个系统的密码找回功能有两种方式,一种是通过短信验证码,一种是通过邮箱,我们看邮箱这种情况。填写任意用户邮箱后提交请求,在此过程中使用Burp抓包,将Host头改为我们的服务器地址。

    本来发往用户邮箱的链接应该是:http://www.test.com/resetPassword/checkEmail

  • 相关阅读:
    正定二次型
    玩转 Java8 Stream 流,常用方法,详细用法大合集
    本地跑项目解决跨域问题
    SpringMVC入门宝典(七)SpringMVC文件上传(下)
    Spring原理学习(六)Scope
    线程的临界区
    关于皕杰小程序分享设置
    时间序列:对股价时序建模
    hashSet解析
    Java并发编程——线程间通信
  • 原文地址:https://blog.csdn.net/SouthWind0/article/details/126337722