XSS漏洞介绍
XSS简介
XSS全称Cross-site scripting,跨站脚本攻击。
恶意攻击者往WEB页面里插入恶意HTML代码,当用户浏览该页面的时候,嵌入其中WEB里面的HTML代码会被执行,从而达到恶意用户的特殊目的。(到取cookie,以攻击用户的身份进行一些操作)
DOM-based XSS
DOM是一个与平台、编程语言无关的接口,通常用来代表HTML中的对象,使用DOM可以允许程序或脚本动态地访问和更新文档内容、结构和样式,它处理后的结果能够成为显示页面的一部分。
当用户能够通过交互修改浏览器页面中的DOM,之后显示在浏览器上获得DOM中的数据在本地执行,DOM中有很多对象,其中一些是用户可以操纵的,如URL,location,refelTer等。简单的说DOM-based XSS就是由客户端的JavaScript代码操作DOM造成的Payload执行的漏洞。
攻击过程
1.用户登录web应用(网站)
2.攻击者给用户发送一个恶意的URL
3.用户点击了攻击者发送的URL
4.服务器返回包含JavaScript脚本的页面
5.攻击者提供的URL被页面的JavaScript脚本所使用,生成payload
6.用户浏览器传送敏感信息给攻击者
7.攻击者通过敏感信息对web服务器进行攻击
反射型XSS
反射型XSS又称为非持续久的XSS,反射型XSS的payload一般包含在链接中,是攻击者往web页面插入恶意代码,当用户浏览该页面时,攻击者插入的恶意代码会被客户端直接执行,从而达到恶意攻击的目的。
存储型XSS
存储型XSS的payload是永久存储在服务中,也叫永久的XSS,当浏览器请求数据时,包含该payload的数据从服务器上上传回客户端执行。