反射型XSS
一、实验环境
1.第三方服务器:Windows Server 2003(192.168.10.111)
2.测试机:Windows 10(开启代理)
3.Metasploitable2-Linux(192.168.10.136)
4.监听端:Kali(192.168.10.131)
5.抓包工具:BurpSuite
二、实验原理
1.概念
- 跨站脚本攻击(cross-site scripting)
- 攻击Web客户端
- 客户端脚本语言(弹窗警告、广告;JavaScript;在浏览器中执行)
2.xss漏洞类型
- 反射型xss(非持久型):需要欺骗用户自己去点击链接才能触发XSS代码(服务器中没有这样的页面和内容),一般容易出现在搜索页面。特点:弹窗警告、广告;javascript;在浏览器中执行。
- 存储型xss(持久型):代码是存储在服务器中的,如在个人信息或发表文章等地方,加入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,用户访问该页面的时候触发代码执行。这种XSS比较危险,容易造成蠕虫,盗窃cookie。
- DOM型xss:文本对象模式XSS,通过修改页面的DOM节点形成的XSS,可存储型,可反射型,只取决于输出地点。
3.原理
- 通过Web站点漏洞,向客户交付恶意脚本代码,实现对客户端的攻击
- 恶意攻击者往Web页面里插入恶意的 Script 代码,当用户浏览该页面时,嵌入其中 Web 里面的 Script 代码就会被执行,从而达到恶意攻击用户的目的
- 注入客户端脚本代码;盗取cookie;重定向
4.原理图解
- 第一步,攻击者向服务器注入一段js代码
- 第二步,服务器端响应攻击者一个带有js代码的页面
- 第三步,攻击者向普通用户发送一个带有js代码的页面
- 第四步,用户点击带有js代码的页面,跳转至第三方站点
- 可进行DDOS攻击、钓鱼网站、获取某网站账号密码
- 第一步,攻击者向服务器端注入一段js代码
- 第二步,服务器端响应攻击者一个带有js代码的页面
- 第三步,攻击者向普通用户发送带有js代码的页面,诱使用户点击页面
- 第四步,用户点击攻击者所发送的页面,页面自动运行js代码,获取用户cookie,并发送给攻击者
三、实验步骤
(一)Low级别
1.源码
- 代码直接引用了name参数,并没有任何的过滤与检查,存在明显的XSS漏洞
2.正确输入
a.实现结果
b.抓包分析
3.直接嵌入
<script>alert('xss1')</script> #alert 弹窗(仅在当前页面有)
a.实现结果
b.抓包分析