XSS漏洞

一、什么是XSS漏洞

XSS全称跨站脚本(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故缩写为XSS,比较合适的方式应该叫做跨站脚本攻击。
跨站脚本攻击是一种常见的web安全漏洞,它主要是指攻击者可以在页面中插入恶意脚本代码,当受害者访问这些页面时,浏览器会解析并执行这些恶意代码,从而达到窃取用户身份/钓鱼/传播恶意代码等行为。

二、XSS分类

反射型(非持久型)
存储型(持久型)
DOM型
不常见的XSS:
mXSS 突变型XSS
UXSS 通用型XSS
Flash XSS
UTF-7 XSS
MHTML XSS
CSS XSS
VBScript XSS

存储型

存储型XSS也叫持久型XSS,存储的意思就是Payload是有经过存储的,当一个页面存在存储型XSS的时候,XSS注入成功后,那么每次访问该页面都将触发XSS。

反射型

反射型XSS也叫非持久型XSS,最常见的是Payload是构造在网址的某个GET参数的值里。

DOM 型

基于DOM的XSS有时也称为type0XSS。当用户能够通过交互修改浏览器页面中的DOM(DocumentObjectModel)并显示在浏览器上时,就有可能产生这种漏洞,从效果上来说它也是反射型XSS。通过修改页面的DOM节点形成的XSS,称之为DOMBasedXSS。

三、XSS工具

(1)Xsser
(2)BEEF

四、XSS漏洞检测

检测过滤情况

用于有字符限制的短探测器
'';!--"=&{()}
完全版探测器
';alert(String.fromCharCode(88,83,83))//';alert(String.fromCharCode(88,83,83))//";alert(String.fromCharCode(88,83,83))//";alert(String.fromCharCode(88,83,83))//-->">'>

观察输出位置

1.标签之间

模型: 
[xss]
payload: 或者 这些标签有: