javascript的xss中编码问题实例

编程语言及工具

99人已加入

描述

0x01 前言

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

javascript

0x02 直接闭合

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

javascript

0x03 javascript 伪协议

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

javascript:alert(document.domain)

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

javascript

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

javas	cript:alert(1)

 

 

javascript

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

0x04 绕过限制加载外部js

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

javascript

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

javascript

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

最终效果:

javascript

0x05 报送结果

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

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

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

编辑:黄飞

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

 输出时会被实体化编码,遂放弃 0x03 javascript 伪协议 因为输出是在标签的 href 里面,所以去尝试伪协议,payload如下: javascript:alert(document.domain) 提交后发现,输出的内容直接过滤掉">
×
20
完善资料,
赚取积分