XSS笔记(简单了解的)

1.什么是XSS?

XSS (Cross Site Scripting),即跨站脚本攻击,是一种常见于 Web 应用中的计算机安全漏洞。恶意攻击者往 Web 页面里嵌入恶意的客户端脚本,当用户浏览此网页时,脚本就会在用户的浏览器上执行,进而达到攻击者的目的。比如获取用户的 Cookie、导航到恶意网站、携带木马等。借助安全圈里面非常有名的一句话:“所有的输入都是有害的。”这句话把 XSS 漏洞的本质体现的淋漓尽致。大部分的 XSS 漏洞都是由于没有处理好用户的输入,导致恶意脚本在浏览器中执行。任何输入提交数据的地方都有可能存在 XSS。XSS笔记(简单了解的)_第1张图片

2.XSS的类型有哪些?

(1)反射型

反射型XSS也被称为非持久性XSS(现在最容易出现的一种XSS漏洞)。当用户访问一个带有XSS代码的URL请求时,服务器端接收数据后处理,然后把带有XSS代码的数据发送到浏览器,浏览器解析这段带有XSS代码的数据后,最终造成XSS漏洞。这个过程就像一次反射,故称为反射型XSS。

(2)存储型

存储型XSS又被称为持久性XSS,是最危险的一种跨站脚本。允许用户存储数据的Web应用程序都可能会出现存储型XSS漏洞,当攻击者提交一段XSS代码后,被服务器端接收并存储,当攻击者再次访问某个页面时,这段XSS代码被程序读出来响应给浏览器,造成XSS跨站攻击,比如我在某个论坛发帖的时候,论坛没有对传入的HTML作处理,那么我就可以发一个帖子内容包含的帖子,然后就守株待兔地等着来看帖子的人执行恶意脚本了。持久型XSS漏洞是把恶意脚本存储到了数据库,访问页面的时候完全没有预兆,这就是存储型XSS。

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

(3)DOM型

DOM的全称为Document Object Model,即文档对象模型,DOM通常用于代表HTML、XHTML和XML中的对象。使用DOM可以允许程序和脚本动态地访问和更新文档的内容、结构和样式。
通过JavaScript可以重构整个HTML页面,而要重构页面或者页面中的某个对象,JavaScript就需要知道HTML文档中所有元素的“位置”。而DOM为文档提供了结构化表示,并定义了如何通过脚本来访问文档结构。根据DOM规定,HTML文档中的每个成分都是一个节点。

DOM的规定如下:

1)整个文档是一个文档节点;
2)每个HTML标签是一个元素节点:
3)包含在HTML元素中的文本是文本节点;
4)每一个HTML属性是一个属性节点;
5)节点与节点之间都有等级关系。


HTML都是一个个节点,而这些节点组成了DOM的整体结构:节点树。如下图

XSS笔记(简单了解的)_第2张图片

可以发现, DOM本身就代表文档的意思,而基于DOM型的XSS是不需要与服务器端交互的,它只发生在客户端处理数据阶段。

3.XSS的原理

攻击者对含有漏洞的服务器发起XSS攻击(注入JS代码)。

诱使受害者打开受到攻击的服务器URL。

受害者在Web浏览器中打开URL,恶意脚本执行。

4.XSS的危害

1)挂马
2)盗取用户Cookie。
3)DOS(拒绝服务)客户端浏览器。
4)钓鱼攻击,高级的钓鱼技巧。
5)删除目标文章、恶意篡改数据、嫁祸。
6)劫持用户Web行为,甚至进一步渗透内网。
7)爆发Web2.0蠕虫。
8)蠕虫式的DDoS攻击。
9)蠕虫式挂马攻击、刷广告、刷浏量、破坏网上数据
10)其它安全问题

5.XSS的利用方式

1)需要一个xss平台来收集cookie

2)对于反射型xss可构造链接,当用户点击时,用户cookie被发送到xss平台

3)窃取用户cooike之后加以利用

4)可以基于xss平台进行利用

具体攻击方式以后再细学

你可能感兴趣的:(xss,笔记)