[书籍精读]《Web前端黑客技术揭秘》精读笔记分享(3)

ActionScript(简称AS)和JavaScript一样遵循ECMAScript标准。ActionScript由Flash的脚本虚拟机执行,运行环境就在Flash Player中,而Flash Player的运行环境主要有两个:浏览器与操作系统本地,Flash有自己的安全沙箱来限制ActionScript的能力,否则通过ActionScript可以进行很多危险的操作

flash安全沙箱:Flash安全沙箱是用来制定ActionScript的游戏规则的;安全沙箱包括远程沙箱与本地沙箱。其实这个沙箱模型类似于浏览器中的同源策略。在同一域内的资源会被放到一个安全组下,这个安全组被称为安全沙箱;

html嵌入flash的安全相关配置

跨站flash:跨站Flash也称Cross Site Flash(XSF),即通过ActionScript来加载第三方Flash文件,攻击者如果对这个过程可控,那么他们就可以让目标Flash加载恶意的Flash文件,从而造成XSF攻击;

参数传递

flash里的内嵌html:Flash内嵌HTML不能很随意,且支持的标签有限;

与JavaScript通信:1.getURL()与navigateToURL();2.ExternalInterface;

网络通信:URLLoader与URLRequest组合进行文本数据的请求,这是AS3种绝佳的组合,GET/POST数据都很方便,如果仅是发送数据出去,而不需要得到响应,则直接用sendToURL函数+URLRequest组合;如果要使用socket请求,则可以使用Socket类或XMLSocket类;AMF(Action Message Format)是Flash和服务端通信的一种常见的二进制编码模式,其传输效率高,可以在HTTP层面上传输;分析了一些外挂,有专门模拟AMF消息进行各种恶意操作的;

其他安全问题:发现Flash的一些重要数据或逻辑运算直接在本地进行。这是错误的,通过一些流行的反编译工具(比如HP swfdump.exe等)就能得到ActionScript代码;牢记,重要的数据或运算不要在本地进行;

第三章 前端黑客之XSS 3.1.XSS概述

XSS即跨站脚本,发生在目标网站中目标用户的浏览器层面上,当用户浏览器渲染整个HTML文档的过程中出现了不被预期的脚本指令并执行时,XSS就会发生

跨站脚本的重点不在“跨站”上,而应该在“脚本”上

可以通俗地总结XSS为:想尽一切办法将你的脚本内容在目标网站中目标用户的浏览器上解析执行

3.2.XSS类型

XSS有三类:反射型XSS(也叫非持久型XSS)、存储型XSS(也叫持久型XSS)和DOM XSS

反射型XSS:发出请求时,XSS代码出现在URL中,作为输入提交到服务端,服务端解析后响应,在响应内容中出现这段XSS代码,最后浏览器解析执行

存储型XSS和反射型XSS的差别仅在于:提交的XSS代码会存储在服务端(不管数据库、内存还是文件系统等),下次请求目标页面时不再提交XSS代码

最典型的例子是留言板XSS。存储型XSS的攻击是最隐蔽的

DOM XSS和反射型XSS、存储型XSS的差别在于,DOM XSS的XSS代码并不需要服务器解析响应的直接参与,触发XSS靠的就是浏览器端的DOM解析,可以认为完全是客户端的事情

DOM XSS的处理逻辑就在客户端

3.3.哪里可以出现XSS攻击

XSS涉及的场景可以很广,现在越来越多的客户端软件支持HTML解析和JavaScript解析,比如:HTML文档、XML文档、Flash、PDF、QQ、一些音乐播放器、一些浏览器的功能界面等

3.4.有何危害

挂马

盗取用户Cookie

Dos(拒绝服务)客户端浏览器

钓鱼攻击,高级钓鱼技巧

编写针对性的XSS病毒,删除目标文章、恶意篡改数据、嫁祸于人

劫持用户Web行为,甚至进一步渗透内网

爆发Web 2.0蠕虫

蠕虫式的DDoS攻击

蠕虫式挂马攻击、刷广告、刷流量、破坏网上数据

第四章 前端黑客之CSRF 写在前面

CSRF的全称是Cross Site Request Forgery,即跨站请求伪造

CSRF对于那些开源网站、多用户的网站、社交网站等来说非常值得关注,此时的CSRF可以直接攻击管理员后台或者其他用户

4.1.CSRF概述

对于CSRF来说,它的请求有两个关键点:跨站点的请求与请求是伪造的

可以认为:如果请求的发出不是用户的意愿,那么这个请求就是伪造的

删除文章的示例:这个攻击过程有三个关键点,跨域发出了一个GET请求、可以无JavaScript参与、请求是身份认证后的

4.2.CSRF类型

按照攻击方式来说,CSRF可分为:HTML CSRF攻击、JSON HiJacking攻击和Flash CSRF攻击等

HTML中能够设置src/href等链接地址的标签都可以发起一个GET请求

还有通过JavaScript动态生成的标签对象或CSS对象发起的GET请求,而发出POST请求只能通过form提交方式

Flash的世界同样遵循同源策略,发起的CSRF攻击是通过ActionScript脚本来完成的

说到Flash CSRF,通常会想到以下两点:跨域获取隐私数据;跨域提交数据操作,一些如添加、删除、编辑等操作的请求

4.3.有何危害

篡改目标网站上的用户数据

盗取用户隐私数据

作为其他攻击向量的辅助攻击手法

传播CSRF蠕虫

第五章 前端黑客之界面操作劫持 5.1.界面操作劫持概述

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/733aada54040dbf995fb8a037614d625.html