《Web前端黑客技术揭秘》Reading Note #1

今天开始看evilcos大神所著的《Web前端黑客技术揭秘》。这确实是一本好书啊,第一章的内容浅显易懂,为后面的内容打下基础,正如开篇所说“有这几个关键点作为支撑,后续的一切将更加清晰明了”。可惜的是,我发现自己连这几个基本点都不是太懂,尼玛简直太挫了有木有!好吧,马上给自己恶补一下。

同源策略,它是由Netscape提出的一个著名的安全策略,现在所有支持JavaScript的浏览器基本都会使用这个策略。所谓同源是指,域名,协议,端口相同。

同源策略规定:不同域的客户端脚本在没明确授权的情况下,不能读写对方的资源。

这个规定的关键词有:不同域、客户端脚本、授权、读写、资源。最需要解释的就是“是否同域”的情况,以 http://hack0nair.me 为实例进行分析。

站点                                                是否同域                              原因

https://hack0nair.me                不同域              协议不同,https和http是不同的协议

http://abc.hack0nair.me                    不同域             域名不同,abc子域与www子域不同

http://hack0nair.me                          不同域             域名不同,顶级域与www子域不是一个概念

http://hack0nair.me:8888         不同域             端口不同,8888与默认的80端口不同

http://hack0nair.me/a                同域               满足同协议、同域名、同端口,这里只是多了一个目录

从上表可以看出,我们通常所说的两个站点同域就是指他们同源。同源策略的重要性就是它限制了脚本跨域获取用户的数据。

AJAX是Asynchronous JavaScript and XML(异步的JavaScript和XML)的缩写,让数据在后台进行异步传输,常见的使用场景有:对页面的局部数据进行更新时,不需要刷新整个网页,以节省带宽资源。AJAX是黑客进行Web客户端攻击常用的技术,这样的攻击就可以悄无声息地在后台进行。AJAX的风险在2.5.2章提到。

DOM全程Document Object Model(文档对象模型),就是浏览器将HTML/XML这样的文档抽象成一个树形结构,树上的每个节点都代表HTML/XML中的标签、标签属性或标签内容等。比如说有这样一个HTML文档:

<html>
<head>
<title>DOM Tutorial</title>
</head>
<body>
<h2>DOM Lesson one</h2>
<p>Hello world!</p>
</body>
</html>

作为树根,和是它的两个儿子,这样以此类推,每个标签之间的层次结构就是这棵DOM树的结构。JavaScript在这样的结构下可以很方便的进行读/写操作。

APT(Advanced Persistent Threat)攻击,中文解释是“高级持续性威胁”。这种攻击行为首先具有极强的隐蔽能力,通常是利用企业或机构网络中受信的应用程序漏洞来形成攻击者所需C&C网络;其次APT攻击具有很强的针对性,攻击触发之前通常需要收集大量关于用户业务流程和目标系统使用情况的精确信息,情报收集的过程更是社工艺术的完美展现;当然针对被攻击环境的各类0day收集更是必不可少的环节。简单来说,就是一群人为了一个目标用尽所有手段去进行一场长期持续的攻击。

« 返回