《白帽子讲web安全》学习笔记(3)

第3章 跨站脚本攻击(XSS)

1、跨站脚本攻击(Cross Site Script),通常指黑客通过“HTML注入”篡改了网页,插入了恶意的脚本,在用户浏览网页时,控制用户浏览器。属于客户端攻击,受害者最终是用户。恶意代码一般使用javascript编写。存在XSS漏洞的网站,可以盗取用户Cookie、黑掉页面、导航到恶意网站,网站挂马、XSS蠕虫。

2、XSS类型。(1)反射型XSS(也叫做非持久型XSS)。简单地把用户输入的数据“反射”给浏览器,需要诱使用户“点击”一个恶意链接,才能攻击成功。当用户访问一个带有XSS代码的URL请求时,服务器端接收数据后处理,然后把带有XSS代码的数据发送给浏览器,浏览器解析这段带有XSS代码的数据后,最终造成XSS漏洞。(2)存储型XSS(也叫做持久型XSS)。当攻击者提交一段XSS代码后,被服务器端接收并存储,当攻击者再次访问某个页面时,这段XSS代码被程序读出来响应给浏览器,造成XSS跨站攻击。(3)DOM XSS。从效果上来说也是反射型XSS,通过修改页面的DOM节点形成XSS。

3、存储型XSS与反射型XSS、DOM XSS型相比,具有更高的隐蔽性,危害性也更大。最大的区别在于反射型XSS与DOM型XSS执行都必须靠用户手动去触发,而存储型XSS却不需要。

4、DOM的全称是Document Object Model,即文档对象模型,使用DOM可以允许程序和脚本动态地访问和更新文档的内容、结构和样式。DOM为文档提供了结构化表示,并定义了如何通过脚本来访问文档结构。DOM规定,HTML文档中的每个成分都是一个节点。

5、XSS Payload用以完成各种具体功能的恶意脚本。一个常见的XSS Payload就是通过读取浏览器的Cookie对象,从而发起“Cookie劫持”攻击。XSS Payload还包括构造GET与POST请求、XSS钓鱼、识别用户浏览器、识别用户安装的软件、CSS History Hack、获取用户的真实IP地址。

6、Cookie是能够让网站服务器把少量文本数据存储到客户端的硬盘、内存,或是从客户端的硬盘、内存读取数据的一种技术。可以记录你的用户ID、密码、停留的时间等信息。当前Web中,Cookie一般都是用户登录的凭证,浏览器发起的所有请求都会自动带上Cookie。

7、SESSION(会话)是指用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是一次客户端与服务器端的对话。当浏览器关闭后,SESSION自动注销,每个用户的回话状态都是不同的SESSION,服务器依靠唯一且不会重复编号的SESSIONID区分用户。如果服务器关闭或浏览器关闭,SESSION将自动注销,用户再次连接,将会重新分配。SESSION仅在客户端存储一个ID,比Cookie要安全。

8、XSS Worm一般发生在用户之间发生交互行为的页面,存在存储型XSS,更容易发起攻击。

9、XSS构造技巧。(1)利用字符编码(2)绕过长度限制:a)利用事件来缩短所需的字节数 b)把XSS Payload写到别处,再通过简短的代码加载,location.hash就是常用的方式 c)利用住注释符绕过长度限制(3)使用标签(4)使用window.name实现跨域、跨页面传递数据。

 

你可能感兴趣的:(《白帽子讲web安全》学习笔记(3))