Day Vision

Reading Everyday,Extending Vision

我是如何挖掘到2300美金的XSS漏洞

2022-09-16 06:50:27


实际示例:重定向中twitter.com域上的CRLF注入很滑,— https://360kuaishi.com/login?redirect_after_login=/jjjkkkSet-Cookie:jjjjj = a; domain


Image
Image

2300美元的Cookie-XSS挖掘


文章译自海外大佬“挖洞”故事,一个2300美元的XSS漏洞挖掘

Image Image
很长时间以来,我一直在寻找HackerOne平台上的漏洞,在主要工作之外分配一定的时间来检查我的收藏夹和新程序。

我无数次不得不偶然发现基于cookie的XSS漏洞,它将成为本文的主要特征。当cookie参数的值反映在页面上时,会发生这种类型的漏洞。

默认情况下,如果我们又不证明它们的危险,则将它们视为自我XSS。今天,我将告诉您如何利用基于cookie的XSS漏洞,并举例说明一个公司进行的测试,从中我获得了总计7,300美元的研究经费。

为了在用户端执行javascript,我们需要找到一种设置cookie的方法,并在必要时将受害者引诱到嵌入cookie的页面上。利用此错误的可能方法:


Image


1. CRLF注射 。如果没有正确检查和阻止换行符,则会发生此漏洞。我们可以在响应中注入一个带有所需名称的Set-cookie标头以及cookie的值,然后在浏览器中进行设置。实际示例:重定向中twitter.com域上的CRLF注入很滑,
 https://360kuaishi.com/login?redirect_after_login=/jjjkkkSet-Cookie:jjjjj = a; domain = 360kuaishi.com


Image Image

Image


2.子域上的XSS漏洞 。XSS必须公开可用并位于通配符* .vulnerabledomain.com上。对于许多错误赏金计划,子域不在范围内,即,在大多数情况下,错误要么根本不被接受,要么被接受但被标记为“不符合赏金条件”。在这种情况下,您不应该撤退,但是为了结合使用基于cookie的XSS,您可以花费时间搜索XSS以获得奖励。


如果检测到XSS,我们可以使用document.cookie函数设置或删除cookie。的影响越来越大:受害人通常对主要域弱势域名的信任程度超过了对jira.vulnerabledomain.com的信任程度,而且还信任URL / plugins / servlet / oauth / users / icon-uri?consumerUri = https:// maliciousdomain .com

如果此子域与个人帐户或授权无关,则受害者更有可能转到主域而不是子域。基于上述内容,我们可以使用站点内重定向功能来重定向到子域https://vulnerabledomain.com/login?redirectUrl=https://jira.vulnerabledomain.com/path以获得最佳效果。 如果受害者有一个活动会话,则重定向将是自动的。 —如果没有,则需要授权。


当用户单击这样的链接时,将设置cookie,并将cookie从显示Reflected XSS的子域中进一步发送到下游-基于cookie的XSS页面,在此页面中漏洞利用可触发,然后,将捕获CSRF令牌值并执行更改电子邮件地址的请求。因此,如果没有相关的问题,例如另外确认用密码更改电子邮件或从旧邮箱输入代码,则两个XSS漏洞的组合可能导致帐户被接管。


Image


3.检测允许您设置Cookie的测试文件 。打开内容发现工具(dirb,dirserach等),开始挖掘就足够了,如果开发人员忘记执行清理,则可以偶然发现这些文件。最近,我发现了一个测试servlet html页面,可以在该页面上设置具有任意名称和值的cookie。当然,POST请求没有任何保护,因此,如果受害者将访问CSRF漏洞(或者您可以将POST更改为GET),则可以在其浏览器中设置Cookie。

Image Image

该错误被视为CRLF注入的替代方案,已通过删除/ examples /进行修复,并为低严重性错误支付了$ 150。尽管h1 triager设置为中等,但开发人员仍倾向于认为它的严重性较低。

Image Image

Image


4.中间人攻击(MITM) 。仅当cookie上没有安全标志时,才可以应用此方法。如果您不知道此标志是什么,或者只是想刷新内存,建议您查看OWASP London 2017的“ Cookie安全”演示文稿

https://www.owasp.org/images/a/a0/OWASPLondon20171130_Cookie_Security_Myths_Misconceptions_David_Johansson .pdf。为了成功进行攻击,必须将受害者置于攻击者的网络中,否则dns的解析可能会受到影响。为了检查漏洞,您必须:1)托管具有以下内容的index.php文件:


<?php if ($_SERVER[‘HTTP_HOST’] == ‘non-existed-subdomain.vulnerabledomain.com’) { setrawcookie(“VID”,’\’+alert(123123123)+\’’, time()+36000, “/”, “.vulnerabledomain.com”,0,1); } ?>

2)将以下行添加到您的/ etc / hosts /文件中:127.0.0.1 non-existed-subdomain.vulnerabledomain.com

3)访问non-existed-subdomain.vulnerabledomain.com,然后打开将在其中反映Cookie的页面。

在e.mail.ru(https://hackerone.com/reports/312548)上有一个利用MITM的杰出例子,您可以看到,MITM足以证明小规模的漏洞危险,但是回报却不尽相同XSS的存储级别,因为仅显示了“本地”利用示例,而不是“野生”示例。如果研究人员花了一些时间在* .mail.ru上搜索XSS或CRLF注入(不计其数),则有可能大大提高奖励。

但是,并非所有的hackerone程序都通过MITM接受基于cookie的XSS。如果范围排除显示“ Self XSS”,则可以将这种利用视为“ Self XSS”,并且可以将报告状态更改为提供信息或不适用,这并不总是令人满意。现在,我将讨论在平台上进行常规狩猎时发生的类似案例。

在测试站点时,我突然注意到**删除的cookie的值反映在站点的子目录之一中。我检查的第一件事是显示字符“” /“ <”。事实证明,仅过滤了<>个字符,这告诉我们我们不能超越<script> </ script>,但是很明显,其余字符也没有过滤。不用考虑很长时间,我们嵌入了“ -alert(document.domain)-”并执行了js。


由于开发人员未给cookie提供安全标志,因此在这种情况下,MITM方法有效。我决定将报告发送给程序,并产生以下影响:


Image Image


HackerOne的工作人员(尝试者.快识)明确指出,这是自我XSS,我应该更加努力:

Image Image

之后,我开始在现场冲浪,并尝试找到CRLF注射液或XSS来证明危险。

我必须借助蛮力借助一个大型词典来扩展子域的列表,并使用SSL证书和其他一些技巧来将其抓取。结果很快就出现了,因为我运行了VPS中的大多数工具。我还报告说,有时还会发现其他错误,如果需要,将范围外的错误转为范围内的错误。有很多开放重定向,甚至是不当的访问控制漏洞,价格都为5000美元,但是无法发现捆绑软件所必需的漏洞。上述错误非常有趣且危险,报告发布后,整个子域立即脱机,也许将来,如果程序公开,我将在hackerone.com/w2w页面上显示报告。


一周后,我浏览了用于内容发现的脚本结果,发现了端点/验证,起初我并不十分重视它,但是我仍然在其上设置了一个脚本-/ verification / login子目录 被找到。


浏览完URL后显示/verification/login/?redirect_uri=https://vulnerabledomain.com页面,该页面在登录后重定向到redirect_uri值,如果存在会话则立即重定向。


飞往入侵者后,发现了开放的重定向保护绕过–弱域名(communitydomain.com@anotherdomain.com)。我试图将错误升级为XSS-有效负载javascript:alert(1)失败,javascript:alert(1)//也是如此。但是有效载荷javascript:// https://vulnerabledomain.com/%250A1alert(1) 0拍摄了,因为由于https:// vulnerabledomain的存在,该参数通过了白名单验证。


Image Image
疯狂地将鼠标驱动到警报窗口(我总是这样做)之后,我立即切换到基于cookie的XSS。借助javascript:
https://vulnerabledomain.com/%0A1?document%2ecookie%20%3d%20%27SID%3d137gf6g67f76fg6766123%5c%27-alert%28document%2edomain%29-%5c%27%3b% 20expires%3dFri%2c%203%20Aug%202019%2020%3a47%3a11%20UTC%3b%20path%3d%2f%3b%20domain%3d%2evulnerabledomain%2ecom%3b%27%3a0

已成功在*上设置了Cookie .vulnerabledomain.com。在访问带有cookie的页面后,出现了令人垂涎的警报窗口!双XSS,万岁!:)我更新了报告,正在等待答案。


Image Image 在同一天,分类专家(如果我们可以这样称呼)到达了一个不错的渔获,并支付了赏金。 愿上帝保佑分流的公司!

对于我安装了cookie的基于DOM的XSS,赏金也落到了我的帐户中。
Image Image

测试结果 :$ 1000 + $ 1000 + $ 200(OR)+ $ 100(OR)= $ 2300


该程序已经运行了一年多,但是在不到一个月的时间里,我就获得了第一名,并且进行了相当长的测试,我试图模糊大多数端点,评估它们的反应,了解站点的工作方式 甚至测试了桌面应用程序。这个漏洞赏金已经成为我在HackerOne上最喜欢的程序之一。希望您也能找到相同的一个!:)
Image Image

另外,正是这个程序给了我一个新的提升(mail.ru是第一个),在它的帮助下,我获得了2500个信誉(您好,帽衫),并在90天的信誉榜上排名第36位,这应该可以 我新鲜的私人邀请。


尽管不管我在排行榜中的存在如何,私人邀请似乎都会来临,但我经常取消旧邀请并等待队列中的新邀请。



Image



简短摘要:

  • 基于Cookie的XSS相当可利用。如果您尝试更深入地研究,则可以获得赏金,而不是不适用,信号破坏和-5声望。

  • 如果该程序较旧,则并不意味着它没有漏洞。如果将果实挂在树上很长一段时间,将摘下低垂的果实并立即带回家(子域接管等)。其他水果继续挂,但更高。为了获得它们,您需要付出一些努力。

  • 有时,最好长期专注于一个程序,找到尽可能多的漏洞并不断对其进行监视。最好找到您喜欢的程序并将其破坏。

  • 毅力和对理解Web应用程序的工作原理以及某些功能及其彼此之间的交互的渴望是成功发现漏洞赏金中的漏洞的关键。



Image
文章已结束字数(3157),大约20分钟看完
技术培训:https://mp.weixin.qq.com/s/ezXd_aYxmZYx-AZ83u2VWQ


文章翻译自Hackerone一位大佬博客,后期也会经常在海外翻译一些大佬的“挖洞姿势”或者骚思路文章。

Image

Image
转载是一种动力 分享是一种美德