存储型XSS的发现经历和一点绕过思路
再次骚扰
某SRC提现额度竟然最低是两千,而已经有750的我不甘心呐,这不得把这2000拿出来嘛。
之后我就疯狂的挖这个站,偶然发现了一个之前没挖出来的点,还有个存储型XSS!
刚开始来到这个之前挖过但没挖出来的站,看了一下感觉这站没啥东西了啊,然后来到评论区又一次测试了一下
先简单测试一下
心态:随意吧
<img src=0>
结果是一空的,啥也没有
普通的没用肯定是过滤了,想着直接抓包测试吧更快些
抓包后发现编码过
编码后:%3Cimg+src%3D%22javascript%3Aalert('XSS')%22%3E
编码前:<img src="javascript:alert('XSS')">
有个javascript
肯定是会拦截的,毕竟是大厂嘛
然后直接手打吧,去掉javascript
空格用+来表示吧 <img+src=0>
虽然是空的,但是发现源码中是存在img的但是被转义了,还是有些转机的^_^
心态:有点小郁闷
来尝试绕过转义
%00
代替空格
<img%00src=0%00>
继续绕过
<img#src=0>
再来!
<img\/src=0>
有转机啊!可以看到 /
被转移成空格了
心态:兴奋
直接上 <img/src=0/onerror=alert(/xss/)>
可惜,被拦截了,应该是关键字alert
接触()
就拦截,onerror
接触=
就拦截
绕过一下,加空格和 %00
会被转义,试着用 /
来空格,alert
用 top['alert']
来代替
但是!不顶用啊
心态:失落
用过 /**/ %00 大小写 eval 等
常用的都被干掉了,结束了?!
这不一定要用 <img>
啊,来试试 <iframe>
心态:!!!柳暗花明又一村
接下来直接上吧,script
标签肯定用不了了
试试 <iframe/src=vbscript:msgbox(123)></iframe>
能写进去但是好像执行不了,继续绕
心态:坚持,执着,绞尽脑汁
试了各种绕的方法,突然想到 明着不行,那就来暗的
明码不行,那就试试base64编码后的看看它会拦截不
<script>alert(/xss/)</script>
编码一下
来直接上Payload <iframe/src=data:text/html;base64,PHNjcmlwdD5hbGVydCgveHNzLyk8L3NjcmlwdD4=></iframe>
完美大功告成!!这个套路我在这个站足足挖到3个存储XSS,还是很开心的!_