这次我想分享Yandex上XSS存储漏洞的发现过程。
以前,我曾尝试在Yandex Bug Bounty程序中搜索漏洞,因此我没有在Yandex中找到任何漏洞。
但是我没放弃,最近我在Yandex上找到了我的第一个存储型XSS。
在此发现中,我发现了2个存储型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文件的附件。
SVG 文件在聊天附件中成功转义。
但是,当我看到这里只有下载文件功能时,我等了一会儿,然后当我单击“下载文件”时,将自动下载哪个文件:
所以,在请求下载文件时,我打开了Burp Suite,以便我可以抓到文件下载位置的URL。结果如下:
以下是下载文件位置的 URL:
https://files.messenger.yandex.com/file_shortterm/file/
3536a5ca-51a0–418e-b4ba-c85f28e41f2d?attach=true
我得到了文件位置的URL,但是为什么当我访问它时,文件会自动下载?
让我们看看URL的详细信息,并且有一个简单的技术
可以解决为什么文件会自动下载的问题
https://files.messenger.yandex.com/file_shortterm/file/
3536a5ca-51a0-418e-b4ba-c85f28e41f2d?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报告它。随后我在另一个Yandex子域上寻找下载文件功能,结果,我就成功发现第二个存储型XSS。
第二个发现是 https://disk.yandex.com/notes/
在该子域中,也有一个文件附件功能
我尝试了上传第一个的SVG文件,但是,SVG文件被转义了。
我做的下一件事是查找文件位置,在这里,只需复制文件位置即可轻松获取文件位置。
下面是文件位置:
https://s313myt.storage.yandex.net/rdisk/b5d121e5c0ed783e5a3d
93394bd9a645d3fabf3b1bcad0b12b55508272dc3866/61ae1f16/XgR-PzzR
jV9rEblGC_CTo8TxuE3h1SLN-dVO4fIBvSGuTD1V1p9nCR3G01QwSxwrzNzC3H
wVL7Ak5mynbK9Dtw==?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/b5d121e5c0ed783e5a3d9339
4bd9a645d3fabf3b1bcad0b12b55508272dc3866/61ae1f16/XgR-PzzRjV9rEblG
C_CTo8TxuE3h1SLN-dVO4fIBvSGuTD1V1p9nCR3G01QwSxwrzNzC3HwVL7Ak5mynbK
9Dtw==
?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回复的邮件
时间轴 :
报告日期 :29/11/2021
修复日期:30/11/2021
奖励 :入选YANDEX名人堂
推荐阅读:
点赞,转发,在看