某某街一处XSS的绕过思路

某某街一处XSS的绕过思路

众测吃便便

0x01 前言

疫情影响,过年放假呆在家里实在无聊,上去某平台看了下众测项目,想着挣点口罩钱

0x02 直接闭合

一开始尝试直接去闭合<a>标签,发现 "> 输出时会被实体化编码,遂放弃

0x03 javascript 伪协议

因为输出是在<a>标签的 href 里面,所以去尝试伪协议,payload如下:

1
javascript:alert(document.domain) 

提交后发现,输出的内容直接过滤掉了 javascript:

经过几次尝试,通过以下payload绕过了过滤,成功弹窗

1
javas&Tab;cript:alert(1)

不过一个小破弹窗怎么能证明危害

0x04 绕过限制加载外部js

直接用了xsshunter的payload,提交点击后,发现执行不能成功

仔细对比下输出的内容和原始内容才发现,输出时所有的字符都强制转换小写了

这里先了解下xss中的 编码问题,eval中支持Unicode编码,最终构造的payload把大写的字母单独编码下即可

最终效果:

0x05 报送结果

本来以为好歹能混个中危,结果厂商认为这个点需要点击交互,给了低危。

申诉:评级的时候看下功能点,毕竟本来就是需要点击的业务功能。

厂商反馈:经过讨论,恶意链接为javascript开头利用难度较高,故维持评级低危。

给👴爪巴

作者

Se7en

发布于

2020-02-06

更新于

2022-03-31

许可协议

评论