一、点击劫持
1. 点击劫持
1)点击劫持是指在一个Web页面中隐藏了一个透明的iframe,用外层假页面诱导用户点击,实际上是在隐藏的frame上触发了点击事件进行一些用户不知情的操作
2. 典型点击劫持攻击流程
1)攻击者构建了一个非常有吸引力的网页
2)将被攻击的页面放置在当前页面的 iframe 中
3)使用样式将 iframe 叠加到非常有吸引力内容的上方
4)将iframe设置为100%透明
5)你被诱导点击了网页内容,你以为你点击的是***,而实际上,你成功被攻击了
3. 点击劫持防御
1)frame busting
HTML5中iframe的 sandbox 属性、IE中iframe的security 属性等,都可以限制iframe页面中的JavaScript脚本执行,从而可以使得 frame busting 失效
实例代码:
if ( top.location != window.location ){
top.location = window.location
}
2)X-Frame-Options
X-FRAME-OPTIONS
是微软提出的一个http头,专门用来防御利用iframe嵌套的点击劫持攻击。并且在IE8、Firefox3.6、Chrome4以上的版本均能很好的支持
可以设置为以下值:
- DENY: 拒绝任何域加载
- SAMEORIGIN: 允许同源域下加载
- ALLOW-FROM: 可以定义允许frame加载的页面地址
4. 安全扫描工具
1)Arachni
Arachni是基于Ruby的开源,功能全面,高性能的漏洞扫描框架,Arachni提供简单快捷的扫描方式,只需要输入目标网站的网址即可开始扫描。它可以通过分析在扫描过程中获得的信息,来评估漏洞识别的准确性和避免误判。
Arachni默认集成大量的检测工具,可以实施 代码注入、CSRF、文件包含检测、SQL注入、命令行注入、路径遍历等各种攻击,同时,它还提供了各种插件,可以实现表单爆破、HTTP爆破、防火墙探测等功能
针对大型网站,该工具支持会话保持、浏览器集群、快照等功能,帮助用户更好实施渗透测试
2)Mozilla HTTP Observatory
Mozilla HTTP Observatory,是Mozilla最近发布的一款名为Observatory的网站安全分析工具,意在鼓励开发者和系统管理员增强自己网站的安全配置,用法非常简单:输入网站URL,即可访问并分析网站HTTP标头,随后可针对网站安全性提供数字形式的分数和字母代表的安全级别
检查的主要范围:
- Cookie
- 跨源资源共享(CORS)
- 内容安全策略(CSP)
- HTTP公钥固定(Public Key Pinning)
- HTTP严格安全传输(HSTS)状态
- 是否存在HTTP到HTTPs的自动重定向
- 子资源完整性(Subresource Integrity)
X-Frame-Options
X-XSS-Protection
3)w3af
W3af是一个基于Python的Web应用安全扫描器。可帮助开发人员,有助于开发人员和测试人员识别Web应用程序中的漏洞
扫描器能够识别200多个漏洞,包括跨站点脚本、SQL注入和操作系统命令