XSS绕过姿势汇总

一、更换JS引入方式

正常情况下,执行js代码有三种方法:

1、行间式

<div onclick="alert('yea...这样子可以执行JS哦')"></div>
<a href="javascript:alert('执行JS代码但不跳转');">点我</a>
<a href="javascript:void(0)" onclick="alert('点击执行JS代码');">再来点我啊</a>

2、外链式

 <script src="../test.js"></script>

3、嵌入式

  <script>
        alert('js hello world!');//弹窗
   </script>

在某些情况下,web应用对JavaScript的关键字做了过滤时,就可以通过更换引用方式来实现JS代码的执行。

二、通过事件引入JS代码

常用事件:

  • onchange :当HTML 元素已被改变时执行JS
  • onclick: 当用户点击了 HTML 元素时执行JS
  • onmouseover: 当用户把鼠标移动到 HTML 元素上时执行JS
  • onmouseout : 当用户把鼠标移开 HTML 元素时执行JS
  • onkeydown: 当用户按下键盘按键时执行JS
  • onload:当浏览器已经完成页面加载时执行JS
  • onerror: 当执行错误时加载JS代码

通过事件执行JS代码是一个不错的选择,但是一些特殊事件往往会被过滤,所以还得加上其他方法绕过。

三、面对输入过滤时的绕过姿势

常用方法:

  • 大小写绕过
  • 双写绕过
  • 使用编码:如HTML实体编码、URL编码、JS编码等
  • 闭合HTML标绕过
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值