Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
vucsa — 刻意设计存在漏洞的客户端-服务器应用程序,用于学习非HTTP胖客户端的渗透测试。包含SQL注入、RCE(远程代码执行)、XML攻击、缓冲区越界读取和访问控制漏洞等挑战。 | Kitploit
工具/GitHubGitHub/warxim/vucsa
漏洞分析Web应用程序漏洞利用CTF渗透测试学习与教育二进制利用
GitHubwarxim/vucsa

vucsa

刻意设计存在漏洞的客户端-服务器应用程序,用于学习非HTTP胖客户端的渗透测试。包含SQL注入、RCE(远程代码执行)、XML攻击、缓冲区越界读取和访问控制漏洞等挑战。

查看仓库
10128183年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
网站
分享

易受攻击的客户端-服务器应用程序 (VuCSA)

易受攻击的客户端-服务器应用程序 (VuCSA)

易受攻击的客户端-服务器应用程序 (VuCSA) 旨在学习/展示如何对非HTTP客户端-服务器应用程序执行渗透测试。它使用 Java(以及 JavaFX 图形用户界面)编写。

目前,该易受攻击的应用程序包含以下挑战:

  1. 缓冲区过度读取(模拟)
  2. 命令执行
  3. SQL注入
  4. 枚举
  5. XML
  6. 水平访问控制
  7. 垂直访问控制
  8. RCE反序列化

如果你想了解如何解决这些挑战,请查看 PETEP 网站,其中描述了如何使用开源工具 PETEP 来利用它们。

提示 1: 在开始黑客攻击之前,不要忘记检查下面消息的数据结构。在修改网络流量时,你可能需要考虑结构,特别是有效载荷长度字节。

提示 2: 大多数挑战可以通过修改网络流量来利用。因此,建议使用 TCP 代理或进程钩子进行测试。

提示 3: 一些挑战存在输入验证和限制,这在胖客户端中很常见,但这并不意味着服务器使用相同的验证。

缓冲区过度读取(模拟)漏洞

在此挑战中,你的目标是操纵客户端和服务器之间的网络流量,导致缓冲区过度读取。

命令执行漏洞

命令执行挑战代表了一个非常简单的命令执行漏洞。目标是在服务器上执行恶意命令。

SQL注入漏洞

SQL注入挑战包含一个易受SQL注入攻击的搜索输入,但你会很快注意到,该输入不允许你输入所需的字符。

枚举漏洞

枚举挑战基于一个未受枚举保护的模拟登录表单。你能找到所有 5 个用户并猜出他们的密码吗?

XML漏洞

在此挑战中,你可以发现多个 XML 漏洞:

  • XML外部实体攻击(XXE注入)
  • XInclude攻击
  • XML炸弹攻击

水平访问控制漏洞

水平访问控制挑战代表了一个文档阅读器,允许用户查看自己的文档并阅读内容。目标是找到其他用户的 5 个文档。

垂直访问控制漏洞

垂直访问控制挑战基于一个模拟用户面板,显示基本用户信息。目标是找到一个隐藏的管理员功能,并检查是否可以作为访客用户使用它。

RCE反序列化漏洞

RCE反序列化漏洞使用 Java 反序列化/序列化通过网络传输数据。该应用程序包含两条路径,你可以利用这些路径通过易受攻击的 Java 反序列化实现远程代码执行。你可以通过检查服务器的 JAR 文件或查看源代码来找到这两条路径。目标是为两条路径创建利用程序,并在服务器上执行恶意命令。提示: 你可以将服务器 JAR 用作库,以简化利用程序的创建。

系统要求

你需要 Java 11 或更高版本才能运行 VuCSA。注意: 对于搭载 ARM64 架构(M1、M2 芯片)的 Mac,请使用针对 Java 17 的特殊构建版本。

如何运行

要运行易受攻击的服务器和客户端,你可以使用 GitHub 上的某个发布版本,或者运行 gradle assemble,它会创建分发包(适用于 Windows 和 Unix)。这些包包含 sh/bat 脚本,用于使用 JVM 运行服务器和客户端:

# Linux / Mac
chmod +x client.sh server.sh
./client.sh
./server.sh

# Windows
client.bat
server.bat

注意: 这些运行脚本包含有用的变量,包括 Java 可执行文件的路径。如果你的 PATH 中没有它,或者你使用了多个 Java 版本,你可能需要更改它。

运行配置

如果服务器配置不存在,则会自动创建,之后从服务器运行目录中的 server.json 加载:

{
  "network": {
    "serverHost": "0.0.0.0",
    "serverPort": 8765
  }
}

可以在运行中的应用程序中指定客户端配置。

项目结构

项目分为三个模块:

  • vucsa-common - 客户端和服务器的通用功能(包括协议处理工具)
  • vucsa-client - 带有 JavaFX GUI 的易受攻击的客户端
  • vucsa-server - 用于终端使用的易受攻击的服务器

数据结构

服务器和客户端之间传输的消息具有以下简单格式:

[type][target][length][payload]
  32b    32b     32b     ???

这四个部分具有以下含义:

  • type - 消息类型(用于序列化/反序列化)
  • target - 将接收消息的目标处理程序(标识符)
  • length - 有效载荷的长度
  • payload - 序列化后的数据字节

为了发送自定义有效载荷,你可能需要更新有效载荷长度。否则,它将无法正常工作。在教程中,开发了自动修复有效载荷长度字节的脚本。

教程(解决方案)

易受攻击的客户端-服务器应用程序 (VuCSA) 包含多个漏洞,可以通过多种方式利用。官方利用指南使用开源渗透测试代理(参见 PETEP 方法论)。

在 PETEP 方法论中,详细解释了利用挑战的整个过程,包括有用的有效载荷。

下载工具