【白帽故事】基于X-Forwarded-Host header的XSS

渗透技巧 2年前 (2022) admin
782 0 0

声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。


背景介绍:


今天的故事来自Abhijeet Biswas的白帽小哥。他是一名安全研究员,并且在一直在学习和练习有关Web应用程序安全漏洞和漏洞赏金的知识,这也是他的第一篇文章分享。


什么是XSS?


跨站点脚本(也称为XSS)是一个Web安全漏洞,使得攻击者能够与易受攻击的应用程序交互从而危害用户,跨站点脚本漏洞通常允许攻击者伪装成受害者用户,执行用户能够执行的任何操作,并访问用户的任何数据。如果受害用户拥有应用程序内的特权访问权限,则攻击者可完全控制应用程序的所有功能和数据。


【白帽故事】基于X-Forwarded-Host header的XSS


XSS如何工作?


跨站点脚本的工作原理是操纵易受攻击网站的源代码/存储系统,使其向用户返回恶意的JavaScript,当恶意代码在受害者的浏览器内执行时,攻击者可以通过窃取会话Cookie、用户凭证、令牌(tokens)等来完全危害他们与应用程序的交互。


XSS Payloads :


<script>alert(“Hacked_by_Oblivion”)</script><img src/onerror=prompt(document.cookie)>


什么是X-Forwarded-Host header?


HTTP X-Forwarded-Host header是请求类型标头,事实上是标准标头,此标头用于标识客户端发出的原始请求,因为当时反向代理中的主机名和端口不同,这个标头标识了原始请求。此标头还用于调试,创建基于位置的内容,因此此标头保留了客户端的隐私,此标头的根版本是HTTP Forwarded。

LET’S ATTACK!


白帽小哥发现https://www.omise.co/网站,在 Intercept 中捕获请求并将请求发送到 Repeater,并添加了 X-Forwarded-Host: bing.com,同时检查bing.com是否反映在响应包中。


【白帽故事】基于X-Forwarded-Host header的XSS


正如上图所看到的,它反映在了登录按钮中,于是白帽小哥决定在X-Forwarded-Host: bing.com下面增加一个XSS Payload:

X-Forwarded-Host: bing.com”><img src/onerror=prompt(document.cookie)>


然后检查XSS是否成功执行。


【白帽故事】基于X-Forwarded-Host header的XSS


正如上图中所看到的,XSS Payload同样反映在了登录按钮上。


然后将这个请求发送到浏览器,BOOM!JavaScript警告框显示了Cookie信息,如下图所示:


【白帽故事】基于X-Forwarded-Host header的XSS


影响:


漏洞允许攻击者将恶意的JavaScript传递给毫无防备的用户,用户的浏览器没有办法知道脚本是否应该信任,于是脚本成功执行,恶意脚本可以访问任何Cookie、会话令牌(Tokens),甚至可以重写HTML页面内容。


该漏洞的报告链接:https://hackerone.com/reports/1392935


白帽小哥也因此收获了第一笔漏洞赏金$200。

====正文结束====

原文始发于微信公众号(骨哥说事):【白帽故事】基于X-Forwarded-Host header的XSS

版权声明:admin 发表于 2022年2月21日 上午2:59。
转载请注明:【白帽故事】基于X-Forwarded-Host header的XSS | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...