实战 | 记一次在Yandex挖到的两枚存储型XSS漏洞

admin 2022年7月23日10:31:32评论36 views字数 3708阅读12分21秒阅读模式

Yandex Bug Bounty

这次我想分享Yandex上XSS存储漏洞的发现过程。

以前,我曾尝试在Yandex Bug Bounty程序中搜索漏洞,因此我没有在Yandex中找到任何漏洞。

实战 | 记一次在Yandex挖到的两枚存储型XSS漏洞

但是我没放弃,最近我在Yandex上找到了我的第一个存储型XSS。

在此发现中,我发现了2个存储型XSS。

第一个XSS漏洞挖掘经过

我发现的第一个存储型XSS在 https://files.messenger.yandex.net/子域中

当我尝试打开 https://yandex.com/chat/ 时,有一个包含文件附件功能的聊天功能。

此功能使我感到好奇,因为在这里,所有文件都使用其各自的内容类型文件进行转义。

但是,在“文件附件”功能中,只有“下载文件”功能,当然,我很难看到该文件,以便文件在客户端运行。

我准备的第一件事是测试SVG文件。以下是 SVG XSS payload的内容:

<?xml version=”1.0" standalone=”no”?><!DOCTYPE svg PUBLIC “-//W3C//DTD SVG 1.1//EN” “http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg onload=”alert(document.domain)” xmlns=”http://www.w3.org/2000/svg"> <polygon id=”triangle” points=”0,0 0,50 50,0" fill=”#009900" stroke=”#004400"/> </svg>

SVG文件下载 :https://testing13370x.000webhostapp.com/svg.html

接下来,我创建了一个聊天组,然后发送了包含上述SVG文件的附件。

实战 | 记一次在Yandex挖到的两枚存储型XSS漏洞

SVG 文件在聊天附件中成功转义。

但是,当我看到这里只有下载文件功能时,我等了一会儿,然后当我单击“下载文件”时,将自动下载哪个文件:

实战 | 记一次在Yandex挖到的两枚存储型XSS漏洞

所以,在请求下载文件时,我打开了Burp Suite,以便我可以抓到文件下载位置的URL。结果如下:

实战 | 记一次在Yandex挖到的两枚存储型XSS漏洞

以下是下载文件位置的 URL:

https://files.messenger.yandex.com/file_shortterm/file/3536a5ca-51a0418e-b4ba-c85f28e41f2d?attach=true

我得到了文件位置的URL,但是为什么当我访问它时,文件会自动下载?

让我们看看URL的详细信息,并且有一个简单的技术

可以解决为什么文件会自动下载的问题

https://files.messenger.yandex.com/file_shortterm/file/3536a5ca-51a0-418e-b4ba-c85f28e41f2d?attach=true


URL末尾有:attach=true参数

我猜测该参数是我的文件自动下载的主要原因

那么解决方案是什么呢?

让我们看看如果我们在没有 attach=true 参数的情况下发出 URL 请求会发生什么

再次打开该文件位置 URL,抓包删掉attach=true这个参数和值

https://files.messenger.yandex.com/file_shortterm/file/3536a5ca-51a0-418e-b4ba-c85f28e41f2d

然后,您将被重定向到:

https://files.messenger.yandex.net/file/3536a5ca-51a0-418e-b4ba-c85f28e41f2d?sign=ST_1638786251_54d61507422e96946ea01178e7e23b19_2d0519a6115530960f0fe1e46809a598b516a44a23f1e2f14d5f7314

成功,SVG XSS触发了。

实战 | 记一次在Yandex挖到的两枚存储型XSS漏洞

第二个XSS漏洞挖掘经过

然后我试图向Yandex报告它。随后我在另一个Yandex子域上寻找下载文件功能,结果,我就成功发现第二个存储型XSS。

第二个发现是 https://disk.yandex.com/notes/

在该子域中,也有一个文件附件功能

我尝试了上传第一个的SVG文件,但是,SVG文件被转义了。

实战 | 记一次在Yandex挖到的两枚存储型XSS漏洞

我做的下一件事是查找文件位置,在这里,只需复制文件位置即可轻松获取文件位置。

下面是文件位置:

https://s313myt.storage.yandex.net/rdisk/b5d121e5c0ed783e5a3d93394bd9a645d3fabf3b1bcad0b12b55508272dc3866/61ae1f16/XgR-PzzRjV9rEblGC_CTo8TxuE3h1SLN-dVO4fIBvSGuTD1V1p9nCR3G01QwSxwrzNzC3HwVL7Ak5mynbK9Dtw==?uid=1499224356&filename=ke35uucbtdmo55zdoxifa&disposition=attachment&hash=&limit=0&content_type=image%2Fsvg%2Bxml&owner_uid=1499224356&fsize=294&hid=327314be4de311345166590e20d0bdcd&media_type=image&tknv=v2&etag=0bd221e3de6b474e1e68f5419b7cd576&rtoken=XVC BNaq36j8M&force_default=yes&ycrid=na-7ac6f63d70617fb077abb5270e766e5d-downloader12h&ts=5d27b21d57180&s=0b675d9c788808b95cef6ce2659aa6b45f1454844f19efec18bb1ad1df29ad2e&pb=U2FsdGVkX18R5qfWe_Uf_MK4lpJRNCLhrka44f84jG-tHJUcRGIL1YNhnAbhuHPVNNDDEGjlHOvt0BtdmCm-k8M2GRf7sG1O6ap9DHR6HLQ

在这种情况下,它与上面的第一个发现几乎相同,也是自动文件下载:

我越来越好奇如何在附件功能中打开文件?

在查看文件位置的URL时,我怀疑是&disposition=attachment参数的问题

在弄清楚原因之后,解决这个问题的方法就是把 &disposition=attachment改成&disposition=

让我们看看当从 &disposition=中删除attachment参数时,它会如何响应

https://s313myt.storage.yandex.net/rdisk/b5d121e5c0ed783e5a3d93394bd9a645d3fabf3b1bcad0b12b55508272dc3866/61ae1f16/XgR-PzzRjV9rEblGC_CTo8TxuE3h1SLN-dVO4fIBvSGuTD1V1p9nCR3G01QwSxwrzNzC3HwVL7Ak5mynbK9Dtw==?uid=1499224356&filename=ke35uucbtdmo55zdoxifa&disposition=&hash=&limit=0&content_type=image%2Fsvg%2Bxml&owner_uid=1499224356&fsize=294&hid=327314be4de311345166590e20d0bdcd&media_type=image&tknv=v2&etag=0bd221e3de6b474e1e68f5419b7cd576&rtoken=XVC BNaq36j8M&force_default=yes&ycrid=na-7ac6f63d70617fb077abb5270e766e5d-downloader12h&ts=5d27b21d57180&s=0b675d9c788808b95cef6ce2659aa6b45f1454844f19efec18bb1ad1df29ad2e&pb=U2FsdGVkX18R5qfWe_Uf_MK4lpJRNCLhrka44f84jG-tHJUcRGIL1YNhnAbhuHPVNNDDEGjlHOvt0BtdmCm-k8M2GRf7sG1O6ap9DHR6HLQ

又成功了

实战 | 记一次在Yandex挖到的两枚存储型XSS漏洞

最后,我找到了存储在YANDEX上的第二个XSS漏洞。

实战 | 记一次在Yandex挖到的两枚存储型XSS漏洞

Yandex回复的邮件

实战 | 记一次在Yandex挖到的两枚存储型XSS漏洞

时间轴 :

报告日期 :29/11/2021

修复日期:30/11/2021

奖励 :入选YANDEX名人堂

实战 | 记一次在Yandex挖到的两枚存储型XSS漏洞


推荐阅读:


实战 | 记一次在Yandex挖到的两枚存储型XSS漏洞


实战 | 记一次对iphone手机游戏的渗透测试


实战 | 记一次HOST头中毒导致的密码重置漏洞挖掘


干货 | SRC和漏洞挖掘中的隐藏参数测试手法和工具总结


实战 | WAF-Bypass之SQL注入绕过思路总结


干货 | Certutil在渗透中的利用和详解


点赞,转发,在看


实战 | 记一次在Yandex挖到的两枚存储型XSS漏洞

原文始发于微信公众号(HACK学习君):实战 | 记一次在Yandex挖到的两枚存储型XSS漏洞

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年7月23日10:31:32
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   实战 | 记一次在Yandex挖到的两枚存储型XSS漏洞http://cn-sec.com/archives/1194748.html

发表评论

匿名网友 填写信息