疫情影响,过年放假呆在家里实在无聊,上去某平台看了下众测项目,想着挣点口罩钱
一开始尝试直接去闭合<a>
标签,发现 ">
输出时会被实体化编码,遂放弃
因为输出是在<a>
标签的 href
里面,所以去尝试伪协议,payload如下:
javascript:alert(document.domain)
提交后发现,输出的内容直接过滤掉了 javascript:
经过几次尝试,通过以下payload绕过了过滤,成功弹窗
javas	cript:alert(1)
不过一个小破弹窗怎么能证明危害
直接用了xsshunter的payload,提交点击后,发现执行不能成功
仔细对比下输出的内容和原始内容才发现,输出时所有的字符都强制转换小写了
这里先了解下xss中的 编码问题,eval中支持Unicode编码,最终构造的payload把大写的字母单独编码下即可
最终效果:
本来以为好歹能混个中危,结果厂商认为这个点需要点击交互,给了低危。
申诉:评级的时候看下功能点,毕竟本来就是需要点击的业务功能。
厂商反馈:经过讨论,恶意链接为javascript开头利用难度较高,故维持评级低危。
作者:se7en,来源见阅读原文
关注公众号后台回复数字 1126 获取 应急响应实战笔记,1127 - ctf工具集合,1230 - 内网工具,3924 - 弱口令爆破工具。