XSS

XSS

根据效果不同可分为三类:

  • 反射型XSS

  • 存储型XSS

  • DOM XSS

一.反射型XSS

反射型XSS只是简单地把用户输入的数据'反射'给浏览器,往往需要诱导用户“点击”一个恶意链接才能攻击成功,也叫非持久性XSS

二.存储型XSS

存储型XSS会把用户输入的数据“存储”在服务端,具有很强的稳定性,存储时间比较长,持久性XSS

三.DOM XSS

从效果上看也是反射型XSS,单独划分出来,是因为DOM形成的原因比较特别,通过改变HTML代码进行注入,比如,闭合标签,添加带恶意JavaScript标签代码

四.XSS Payload

攻击成功后,攻击者能够对用户当前浏览的页面植入恶意脚本,通过恶意脚本,控制用户的浏览器,这些具有特点功能的恶意脚本,叫做xss payload;实际上是JavaScript脚本(flash或其他富客户端的脚本)

  1. 构造GET或POST包

  2. XMLHttpRequest请求

  3. 合理运用图片链接

  4. 通过获得navigator.userAgent对象了解用户的操作系统,浏览器,但不一定准确,因为可以修改。

  5. 识别用户安装的软件,通过判断ActiveX控件的classid是否存在,来推测用户是否安装了软件,通过收集常见软件的classid,就可以扫描出用户电脑中安装的软件列表。

  6. 浏览器的插件也可以被XSS Payload 扫描出来,放在一个DOM对象中,可通过plugin对象找出来

  7. 还可以获取到客户端IP地址,如果客户端装了java环境,XSS可以通过调用Java Applet接口来获取本地IP地址

五.XSS攻击平台

  1. Attack API

  2. BeEF

  3. XSS-Proxy

六.XSS Worm

存储型的XSS容易发起XSS Worm攻击,用户留言,发送站

七.XSS构造技巧

1.利用字符编码

2.绕过长度限制

产生xss的地方会有变量的长度限制,可能是服务端逻辑造成的。

最常用藏代码的地方,location.hash

3.<base>标签

作用:定义页面上的所有“相对路径”标签的hosting地址,可以出现在页面的任何地方,并作用与位于该标签之后的所有标签,如果插入了<base> 标签,可以通过在远程服务器上伪造图片,链接,或脚本,劫持当前页面中所有的使用的相对路径

posted @ 2017-12-28 20:19  im.lhc  阅读(229)  评论(0编辑  收藏  举报