XSS知识点归纳
XSS攻击指通过HTML注入篡改网页,插入恶意的脚本,当用户浏览网页的时候,控制浏览器。
XSS的三种类型
反射型XSS
诱使用户点击一个恶意链接,才能攻击成功,即将用户输入的数据返回给浏览器
反射型XSS也叫做“非持久型XSS”存储型XSS
将用户输入的数据存储到服务器端,这种XSS有很强的稳定性,所以也叫做持久型XSS。比如我在这篇博客里植入了恶意代码,访问到这个博客的所有人的浏览器都会执行这段恶意代码。DOM Based XSS
通过修改页面的DOM节点形成的XSS
XSS Payload
XSS攻击成功后,攻击者能够对用户当前的浏览页面植入恶意脚本,通过恶意脚本,控制用户的浏览器,这些完成各种具体功能的恶意脚本,成为XSS Payload
实质上就是JS脚本,任何JS脚本能实现的功能,XSS也能实现
Cookie劫持
常见的XSS Payload,就是通过读取流啊冷凝器的Cookie对象,从而发起Cookie劫持攻击
Cookie一般加密保存了当前用户的登录凭证,如果丢失,代表着用户的登录凭证丢失构造GET和POST请求
一个网站的应用只需要接受HTTP协议中的GET或者POST请求就可以完成所有操作,对于攻击者来说,仅通过JS就可以让浏览器发起这两种请求XSS钓鱼
通过与用户交互,实现钓鱼操作,但需要绕过验证码识别用户浏览器
通过XSS读取浏览器的UserAgent对象,这个对象会告诉很多客户端的信息,但是这个对象可以是伪造的,信息不一定准确。不同的浏览器之间有区别,不同的版本也有区别,可以通过这些区别来判断浏览器的信息。识别用户安装的软件
通过判断用户安装的软件,选择对应的浏览器漏洞,最终植入木马。在IE中,可以判断ActiveX控件的classid是否存在,来推测用户是否安装了该软件(即搜集常用软件的classid)
XSS攻击平台
Attack API
BeFF
XSS-Proxy等等
调试JS
Firebug
IE 8 Developer Tools
Fiddler
HttpWatch
以上内容为初步整理,后续会更新 解析XSS练习题 总结XSS的构造 总结XSS的防御
不断学习,不断变强。