0x00 前言

免责声明

文章仅用作网络安全人员对自己网站、服务器等进行自查检测,不可用于其他用途,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作

本次测试只作为学习用处,请勿未授权进行渗透测试,切勿用于其它用途!

基本信息

  • 中文名 : 跨站脚本攻击

  • 外文名 : Cross Site Scripting

  • 造成原因 : 程序漏洞

  • 攻击手段 : 盗用cookie等

  • 特点 : 隐蔽性强、发起容易等特点

0x01 描述

XSS是一种跨站脚本攻击,攻击者通过利用网站漏洞,向用户的浏览器注入恶意脚本的攻击方式,使用户加载并执行攻击者恶意制造的网页程序,可以窃取用户的登录凭证、劫持用户的会话、篡改网页内容、伪造用户请求等。

XSS漏洞可以追溯到上世纪90年代。大量的网站曾遭受XSS漏洞攻击或被发现此类漏洞,如Twitter、Facebook、MySpace、Orkut、新浪微博和百度贴吧。研究表明,最近几年XSS已经超过缓冲区溢出成为最流行的攻击方式,有68%的网站可能遭受此类攻击。根据开放网页应用安全计划(Open Web Application Security Project)公布的2010年统计数据,在Web安全威胁前10位中,XSS排名第2,仅次于代码注入。

0x02 危害

  1. 窃取敏感信息(用户名、Cookie、....)、劫持会话

  2. 广告传播/SEO优化/刷取流量

  3. 网页挂马、钓鱼攻击

  4. 有局限性的键盘记录

  5. Web蠕虫、超出预期的请求

  6. ...

  • 理论上Javascript可以实现的操作都可以被执行,所以可以拓展更多的攻击方式和危害。

0x03 原理

HTML是一种超文本标记语言,通过将一些字符特殊地对待来区别文本和标记,例如,小于符号(<)被看作是HTML标签的开始,之间的字符是页面的标题等等。当动态页面中插入的内容含有这些特殊字符(如<)时,用户浏览器会将其误认为是插入了HTML标签,当这些HTML标签引入了一段JavaScript脚本时,这些脚本程序就将会在用户浏览器中执行。所以,当这些特殊字符不能被动态页面检查或检查出现失误时,就将会产生XSS漏洞。

0x04 XSS攻击类型

Xss攻击的工作方式可以分为三个类型

反射型XSS (Stored XSS)

攻击者通过构造带有恶意代码的URL,并诱导用户点击该链接,服务器接收到请求后,将恶意代码反射回用户的浏览器并执行。

  • 原理图

存储型XSS (Reflected XSS)

攻击者将恶意代码存储到目标网站的数据库中,当其他用户浏览相关页面时,恶意代码会从服务器上返回并在用户的浏览器中执行。

  • 原理图

Dom型XSS (DOM-based XSS)

攻击者利用网页的 DOM(文档对象模型)结构漏洞,修改了网页的内容,使得恶意代码被执行。

  • Dom型XSS是不需要和服务器端进行交互的

0x05 其他攻击说明

Web蠕虫

蠕虫病毒是一种常见的计算机病毒,是无须计算机使用者干预即可运行的独立程序,它通过不停的获得网络中存在漏洞的计算机上的部分或全部控制权来进行传播。当这些新的被蠕虫入侵的计算机被控制之后,蠕虫会以这些计算机为宿主继续扫描并感染其他计算机,这种行为会一直延续下去。

Web蠕虫的传播方式可以有,通过存储型Xss中写入恶意代码(模拟客户端请求:发帖、点赞、评论、转发......),当有用户查看帖子时,恶意代码被加载执行,使每一个查看帖子的用户都继续传播恶意代码。

0x06 About 作者

以上内容都是根据个人经验编写的,如有遗漏或错误请留言反馈,感谢🙇‍