Kali渗透测试之DVWA系列4——反射型XSS(跨站脚本攻击)

目录

一、XSS

      1、XSS简介

      2、XSS类型

      3、漏洞形成的根源

二、反射型XSS

      1、原理示意图​

      2、实验环境

      3、实验步骤

           安全级别:LOW

                   重定向

                   获取cookie

           安全级别:Medium

           安全级别:High

           安全级别:Impossible


一、XSS

1、XSS简介

        XSS,跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets,CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意的 Script 代码,当用户浏览该页面时,嵌入其中 Web 里面的 Script 代码就会被执行,从而达到恶意攻击用户的目的。

2、XSS类型

  • 反射型XSS:非持久化,需要欺骗用户自己去点击链接才能触发XSS代码(服务器中没有这样的页面和内容),一般容易出现在搜索页面。特点:弹窗警告、广告;javascript;在浏览器中执行。
  • 存储型XSS:持久化,代码是存储在服务器中的,如在个人信息或发表文章等地方,加入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,用户访问该页面的时候触发代码执行。这种XSS比较危险,容易造成蠕虫,盗窃cookie。
  • DOM型XSS:文本对象模式XSS,通过修改页面的DOM节点形成的XSS,可存储型,可反射型,只取决于输出地点。

3、漏洞形成的根源

  • 服务器对用户提交的数据过滤不严;
  • 提交给服务器端的脚本被直接返回给其他客户端执行;
  • 脚本在客户端执行恶意操作;

二、反射型XSS

1、原理示意图

获取cookie

  1. 黑客首先向服务器发送js脚本
  2. 服务器将含有js脚本的页面发给黑客
  3. 黑客将js脚本的页面的url发送给被攻击方
  4. 黑客获取被攻击方的cookie

重定向

  1. 黑客首先向服务器发送js脚本
  2. 服务器将含有js脚本的页面发给黑客
  3. 黑客将js脚本的页面的url发送给被攻击方
  4. 被攻击方点击url重定向到第三方网站

2、实验环境

1、测试机:物理机Windows 10,远程登录DVWA;安装BurpSuite

2、DVWA服务器:Windows Server 2003(192.168.247.129),启动phpStudy。

3、实验步骤

安全级别:LOW

查看源码

源码分析

       从源码中可以看到,直接引用来 name参数,并没有对输入的参数做任何过滤;例如:输入a,则返回含有 ' Hello a ' 的js页面。

1、直接嵌入html:<script>alert(‘xss’)</script>,弹出弹框xss。

使用Burpsuite抓包查看,返回的页面信息为含有输入信息的js页面; 

### 关于 FAST 1.2.27 版本的安全漏洞或功能复现 FAST 是一款用于自动化渗透测试工具链中的组件之一,在 Kali Linux 上可以利用该工具执行多种安全评估任务。为了在 Kali Linux 中复现 FAST 1.2.27 的特定功能或验证其已知漏洞,通常需要遵循一系列操作流程来设置环境并运行相应的命令。 #### 安装依赖项和配置环境 确保安装了必要的库文件和其他依赖关系,这可以通过更新包列表以及安装所需软件包完成: ```bash sudo apt update && sudo apt upgrade -y ``` #### 获取 FAST 工具 如果尚未安装 FAST,则可以从官方源获取最新版本或者指定要使用的旧版(如 1.2.27)。对于某些老旧版本可能无法直接通过 APT 获得,此时可考虑从 GitHub 或其他可信资源下载 tarball 文件并手动编译安装[^1]。 #### 配置与启动服务 按照文档说明正确配置 FAST 所需的服务端口、路径等参数,并确保这些设定不会与其他正在运行的应用冲突。接着就可以尝试启动 Fast 来查看是否有任何错误提示出现。 #### 测试目标应用/系统 针对想要检测的目标应用程序或操作系统实施具体的攻击向量模拟;比如 SQL 注入、XSS 攻击等常见 Web 应用程序缺陷。这假设 fast 1.2.27 存在一个关于 HTTP 请求处理不当的问题,那么可以编写简单的脚本来触发此行为: ```python import requests url = "http://target-ip/path" headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)"} data = {'param': 'value'} response = requests.post(url, headers=headers, data=data) print(response.status_code) print(response.text) ``` 上述代码仅为示例性质,实际环境中应当依据 fast 1.2.27 具体存在的漏洞特征调整请求方式及载荷内容[^2]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值