xss绕过字符过滤_XSS 过滤器绕过指南

本文详细介绍了如何从黑盒视角反推XSS过滤器的正则表达式,包括确定payload结构、探测与混淆技巧。通过分析HTML上下文、标签、事件处理程序和JavaScript执行环境,提供多种payload方案,揭示了绕过WAF和XSS检测的策略。
摘要由CSDN通过智能技术生成

XSS 过滤器绕过指南

黑盒视角下如何反向推理 XSS 过滤器后端的正则表达式

绕过 xss 检测机制 (翻译)

https://www.cnblogs.com/xsserhaha/p/10743671.html?from=timeline

原文

https://github.com/s0md3v/MyPapers/tree/master/Bypassing-XSS-detection-mechanisms

三个步骤

1 determing payload structure

2 probing

3 obfuscation

URL unsafe characters +, &

现阶段(2018/04),使用机器学习来检测 XSS 仍然是一个实验性特性, WAF 厂商更多还是使用传统正则来检测恶意 payload 。

HTML Context

XSS 存在的场景

用户输入被反射在 HTML 页面上,即可能存在 XSS, 可以说这个 输入是在 HTML 上下文中 (in the HTML context)。 HTML 上下文通常由两种情况

假设用户输入为 $input 。

1 用户输入被反射在 HTML 标签内

2 用户输入被反射在 HTML 标签外

You entered $input

用户输入被反射在 HTML 标签外

primary character (核心字符)

为了构造 XSS payload 不可或缺的字符

对于用户输入被反射在 HTML 标签外的情况,核心字符 (primary character) 是 左尖括号

根据这些信息,为了尝试确定后端的正则表达式

1

2

3 x

4

5

6

如果所有的 probe 都没有通过,很大概率这个用户输入反射点是无法被绕过的。如果这几个 probe 由任意一个被通过了,我们可以尝试一系列 payload 结构 (payload scheme)。

Payload Scheme #1

While probing, a harmless string should be used instead of {javascript}.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值