1. XSS简介
(1)XSS(cross-site scripting)
跨站脚本攻击,通过web站点漏洞,向客户端交付恶意脚本代码,这些代码可以被浏览器成功的执行,从而实现对客户端的攻击;
XSS可以盗取客户端cookie,将客户端重定向到第三方网站;
(2)客户端脚本语言
弹窗警告、广告;
JavaScript;
在浏览器中执行;
(3)JavaScript
与Java语言无关;
命名完全处于市场原因;
使用最广的客户端脚本语言;
(4)XSS漏洞类型
存储型XSS;(持久型)
恶意代码被保存到目标网站的服务器中,每次用户访问时都会执行脚本代码,这种攻击具有较强的稳定性和持久性;
反射型XSS;(非持久型)
恶意代码并没有保存在目标网站,通过引诱用户点击一个恶意链接来实施攻击的;
DOM型XSS
DOM型XSS是一种基于DOM树的XSS,例如服务器端经常使用document.boby.innerHtml等函数动态生成html页面,如果这些函数在引用某些变量时没有进行过滤或检查,就会产生DOM型的XSS;DOM型XSS可能是存储型,也有可能是反射型;
(5)漏洞形成的根源
服务器对用户提交的数据过滤不严;
提交给服务器端的脚本被直接返回给其他客户端执行;
脚本在客户端执行恶意操作;
2. 反射型XSS攻击图示
(1)获取被攻击者的cookie;
- 黑客首先向服务器发送js脚本;
- 服务器返回含有js脚本的页面;
- 然后黑客将该页面的url链接发送给被攻击方;
- 被攻击方返回cookie;
(2) 重定向到第三方网站;
- 黑客首先向服务器发送js脚本;
- 服务器返回含有js脚本的页面;
- 然后黑客将该页面的url链接发送给被攻击方;
- 被攻击方进入第三方网站;
3. 反射型XSS
实验环境
(1)Windows服务器:Windows Server 2003,IP地址:192.168.37.128;
(2) 测试机:Windows7物理机(开启代理,代理服务器为burpsuite)
实验过程
安全级别:Low
(1)设置安全级别
(2)查看源码
(3)源码分析