由于单引号'被过滤,我们可以将'写为'
location.href='........&key=http://juejin.cn/post/6900861207561895950/aaaaaa' location.href='........&key=http://juejin.cn/post/6900861207561895950/aaaaaa'+alert(1)+'' location.href='........&key=http://juejin.cn/post/6900861207561895950/aaaaaa'+alert(1)+'‘ 复制代码接着我们把代码转换为 url 的编码。 &-> %26, # -> %23最后
key=%26%23x27;%2balert(1)%2b%26%2aaaaaaa3x27; 复制代码缺陷点是发生在 onkeydown 或 a 标签的 href 属性中,无法自动触发,因而使得威胁减小,如果是发生在 img 的 onload 属性,则非常可能导致自动触发
防御用户输入内容直接显示在代码执行上下文中,我们可以 首先判断,是否过滤了
* < , > , /
* 等特殊符号,如果没有被过滤可以XSS可能性就很高
尽量不要在JS的注释里输出内容, 还挺危险的。
防御方式:将一下特殊字符进行转义
防御方式: 对这些输出的特殊字符进行编码
**概念:**网络蠕虫是一种智能化、自动化,综合网络攻击、密码学和计算机病毒技术,无须计算机使用者干预即可运行的攻击程序或代码,它会扫描和攻击网络上存在系统漏洞的节点主机,通过局域网或者国际互联网从一个节点传播到另外一个节点”。
和漏洞挖掘一样,WEB蠕虫也分为XSS蠕虫,CSRF蠕虫,页面操作劫持蠕虫。这次我们要说的是页面操作劫持蠕虫。
页面操作劫持蠕虫的由来
这要从2009年初Twitter上发生的“Don'tCIick”蠕虫事件说起。在2009年初,Twitter 上的很多用户都发现自己的Twitter上莫名其妙地出现了下面这条广播:
Don'tC1ick:~http://tinyurl.com/amgzs6
用户实际上根本就没有广播过这条消息。这次Twitter的蠕虫事件就是使用页面操作劫持技术进行传播的。这也是蠕虫首次使用页面操作劫持技术手段进行传播的案例。
技术分析
下面就对Twitter的这次Don'tClick蠕虫做技术分析。
首先,攻击者使用页面操作劫持技术制作蠕虫页面,该页面的URL地址使用TINYURL短地址转tinyurl.com/amgzs6 页面源代码的设计要点如下。
对iframe和button标签进行CSS样式设定,设置iframe标签所在层为透明层、使iframe 标签所在层位于button标签所在层的正上方。
<style> iframe{ position: absolute; width: 500px; height: 228px; top: -170px; left: -400px; z—index:2; opacity:0; filter:alpha(opacity=0); button{ position:absolute; top:1Opx; left:1Opx; z—index:1: width:120px; </style> 复制代码透明层下方的迷惑按钮和twitter中发送广播的按钮重合。
<button>Don't Click</button> 复制代码透明层的内容中,status参数后的内容即为发送广播的内容:
<iframe src="http://twitter.com/home?status=Don't Click: com/amgzs6" scrolling="no"></iframe> 复制代码页面虽然简陋,但上面介绍的这个正是iframe蠕虫最核心的框架。至此,蠕虫页面己经做好,可以开始源头的传播。攻击者首先在自己的Twitter上发一条广播:
"Don'tClick:tinyurl.com/amgzs6”
当攻击者的其他好友收听到这条广播后,好奇心促使他们去单击http://tinyurLcom/amgzs6链接,进而去单击链接页面中的"Don't Click”按钮。当单击该按钮后,其实单击的是Twitter中发送广播的按钮,于是在用户 不知情的情况下,用户的Twitter中发送一条广播,内容为“Don'tCIick:tinyurl.com/ amgzs6”。然后,其他看到这条消息的人重复以上操作,如此循环,蠕虫就这样传播。
防御1.开发需尽量避免Web客户端文档重写、重定向或其他敏感操作,同时要避免使用客户端数据,这些操作需尽量在服务器端使用动态页面来实现。
2.HttpOnly Cookie。预防XSS攻击窃取用户cookie最有效的防御手段。Web应用程序在设置cookie时,将其属性设为HttpOnly,就可以避免该网页的cookie被客户端恶意JavaScript窃取,保护用户cookie信息。
3.WAF(Web Application Firewall),Web应用防火墙,主要的功能是防范诸如网页木马、XSS以及CSRF等常见的Web漏洞攻击。由第三方公司开发,在企业环境中深受欢迎。
6.控制台注入代码 攻击