张小白的渗透之路(四)——XSS跨站脚本漏洞详解

XSS简介

XSS又叫CSS(Cross Site Script),即跨站脚本攻击。是指攻击者在网页中嵌入客户端脚本,通常是JavaScript编写的恶意代码,当用户使用浏览器浏览被嵌入恶意代码的网页时,恶意代码将会在用户的浏览器上执行。
上述内容可知,XSS属于客户端攻击,受害者最终是用户。需要注意的是,网站管理员也属于用户之一,这就意味着XSS可以攻击“服务器端”。因为管理员要比普通用户的权限大得多,一般管理员都可以对网站进行文件管理、数据库管理等操作,而攻击者就有可能靠管理员身份作为“跳板”实施攻击。

XSS原理解析

XSS攻击是在网页中嵌入客户端恶意脚本代码(一般是使用JavaScript语言编写的)。
值得一提
JavaScript可以用来获取用户的Cookie、改变网页内容、URL调转,那么存在XSS漏洞的网站,就可以盗取用户Cookie,黑掉页面,导航到恶意网站,而攻击者要做的仅仅是向wEB页面中注入JavaScript代码。
简单的说
凡是有输入框可以提交的地方,都可以嵌入script代码(例如:)进行XSS攻击。

XSS的类型

XSS主要被分为三类:反射型、存储型和DOM型

反射型XSS

反射型XSS也被称为非持久性XSS,是现在最容易出现的一种XSS漏洞。
原理
当用户访问一个带有XSS代码的URL请求时,服务端接受请求数据后处理。然后把带有XSS代码的数据发送到浏览器,浏览器解析这段带有XSS代码的数据后,最终造成XSS漏洞。这个过程就像一次反射,故称为反射型XSS
简单的说
就是在输入框中输入js代码,点击提交按钮后服务器执行js代码。
下面用个例子来说明一下
实验环境DVWA,反射型XSS
张小白的渗透之路(四)——XSS跨站脚本漏洞详解_第1张图片
输入js攻击代码

张小白的渗透之路(四)——XSS跨站脚本漏洞详解_第2张图片
点击提交
张小白的渗透之路(四)——XSS跨站脚本漏洞详解_第3张图片

存储型XSS

存储型XSS又被称为持久性XSS,是最危险的一种跨站脚本。它具有比反射型和DOM型更高的隐蔽性,反射型和DOM型都需要手动触发,而存储型则不需要。
原理
允许用户存储数据的Web应用程序都可能会出现存储型XSS漏洞,当攻击者提交一段XSS代码后,被服务器接受并存储,当攻击者再次访问某个页面时,这段XSS代码被程序读出来响应给浏览器,造成XSS跨站攻击,这就是存储型XSS。

下面举个例子简单说明一下存储型XSS
在测试是否存在XSS时,首先要确定输入点与输出点,例如,我们要在留言内容上测试XSS漏洞,首先就要去寻找留言内容输出(显示)的地方是在标签内还是在标签属性内,或者在其他地方。如果输出的数据在属性内,那么XSS代码是不会被执行的。


因为XSS代码出现在value属性中,被当作值来处理,最终浏览器解析HTML时,将会把数据以文本的形式输出在网页中。

在知道输出点后,就可以根据相应的标签构造HTML代码来闭合。
在DVWA反射型XSS中,我们输入js代码,点击提交刷新页面
张小白的渗透之路(四)——XSS跨站脚本漏洞详解_第4张图片

DOM型XSS

DOM全称为Document Object Model,即文档对象模型。使用DOM可以允许程序和脚本动态地访问和更新文档的内容结构和样式。
危害性较小
博主暂时没有搞懂,先不说==

你可能感兴趣的:(渗透之路,渗透测试)