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标绕过

おすすめ

転載: blog.csdn.net/qq_45590334/article/details/117262120