疫情影响,过年放假呆在家里实在无聊,上去某平台看了下众测项目,想着挣点口罩钱
一开始尝试直接去闭合<a>
标签,发现 ">
输出时会被实体化编码,遂放弃
因为输出是在<a>
标签的 href
里面,所以去尝试伪协议,payload如下:
javascript:alert(document.domain)
提交后发现,输出的内容直接过滤掉了 javascript:
经过几次尝试,通过以下payload绕过了过滤,成功弹窗
javas	cript:alert(1)
不过一个小破弹窗怎么能证明危害
直接用了xsshunter的payload,提交点击后,发现执行不能成功
仔细对比下输出的内容和原始内容才发现,输出时所有的字符都强制转换小写了
这里先了解下xss中的 编码问题,eval中支持Unicode编码,最终构造的payload把大写的字母单独编码下即可
最终效果:
本来以为好歹能混个中危,结果厂商认为这个点需要点击交互,给了低危。
申诉:评级的时候看下功能点,毕竟本来就是需要点击的业务功能。
厂商反馈:经过讨论,恶意链接为javascript开头利用难度较高,故维持评级低危。
作者:se7en
原文地址:https://www.se7ensec.cn/2020/02/06/%E6%9F%90%E6%9F%90%E8%A1%97%E4%B8%80%E5%A4%84XSS%E7%9A%84%E7%BB%95%E8%BF%87%E6%80%9D%E8%B7%AF/
注:如有侵权请联系删除
学习更多技术,关注我: