好久没有继续写渗透专栏了,应为最近一段时间,手上忙的事太多了,临近春节,自己也慢慢空闲下来,继续为师傅们更新渗透专栏了。文章开始还是以一些理论,介绍性的文字为主,后续文章会给大家带来实战。

 

一、什么是XSS

XSS(Cross Site Scripting)跨站脚本诞生于1996年。XSS一直被OWASP(Open Web Application Security Project)组织评为十大安全漏洞中的第二威胁漏洞,也有黑客把跨站脚本当做新型的“缓冲区溢出攻击”,而JavaScript则是新型的Shellcode。2011年6月份,国内知名信息发布平台新浪微博爆发了XSS蠕虫攻击,新浪微博的XSS蠕虫爆发仅持续了16分钟,感染的用户就达到将近3300个。

XSS最大的特点就是能注入恶意的HTML/JavaScript代码到用户浏览的网页上,从而达到劫持用户会话的目的。由于HTML代码和客户端JavaScript脚本能在受害者主机上的浏览器任意执行,这样等同于完全控制了WEB客户端的逻辑,在这个基础上,攻击者可以轻易地发送各种各样的攻击。

XSS是一种经常出现在WEB应用程序中的计算机安全漏洞,是由于WEB应用程序对用户输入过滤不足而产生的。攻击者利用网站漏洞把恶意的脚本代码注入到网页中,当其他用户浏览这些网页时,就会执行其中的恶意代码,对受害用户可能采取Cookie资料窃取、会话劫持、钓鱼欺骗等攻击手段。

渗透测试之XSS_web应用

二、XSS的分类

 

1、反射形XSS

反射型XSS又被称之为非持久型XSS,因为这种攻击是一次性的,需要欺骗用户自己去点击链接才能触发XSS代码(服务器中没有这样的页面和内容),一般容易出现在搜索页面。

 

2、存储型XSS

存储型XSS又被称之为持久性XSS,攻击的脚本可以持久的保存在服务器的文件或数据库中,如在个人信息或发表文章等地方,加入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,用户访问该页面的时候触发代码执行。

 

3、DOM型XSS

DOM其实是一种特殊的反射型XSS,它是面向于DOM文档的模型的漏洞。DOM由多个HTML标签组成,而每一个HTML标签都是一个节点。DOM树结构如下

渗透测试之XSS_服务器_02


DOM就是一个树状的模型,我们可以编写Javascript代码根据DOM一层一层的节点,去遍历/获取/修改对应的节点,对象,值。

 


更多技术文章请关注公众号:猪猪谈安全

渗透测试之XSS_新浪微博_03