0XSS
0X01 什么是XSS?
本名是CSS(Cross Site Scripting),即跨站脚本攻击。为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。关键在于在网页中嵌入脚本代码。
0X02 XSS原理
XSS攻击通过在网页中嵌入客户端恶意脚本代码来实现盗取Cookie、改变网页内容、URL调转等目的。一般是通过JavaScript语言编写的JS脚本代码,因为JS是广泛使用的网络脚本语言主要用来向HTML页面添加交互行为,可以直接嵌入HTML页面。JS代码可以直接被浏览器解析这样就可以通过在页面嵌入或跨站执行JS代码达到攻击的目的。实际攻击中,往往通过<script src="http://xxxxxx"></script>来加载外部脚本,这样就可以在外部准备好实现目的的脚本,这样不会被原网页的一些条件限制,只要一个链接就可以加载外部脚本实现攻击。
0X03 XSS类型
主要分为三类:反射型、储存型、DOM型。
反射型
也称为非持久性XSS,过程是用户访问一个带有XSS的URL请求时(需要用户访问进行触发),服务器端接收数据后处理,然后把带有XSS代码的数据发回浏览器,浏览器解析这带有XSS代码的数据,造成XSS漏洞。因为过程像反射所以有了这个名字。
一个例子: