VuCSA,全称为Vulnerable Client-Server Application,即包含安全漏洞的客户端-服务器应用程序,该工具主要为安全学习而设计,广大研究人员可以利用VuCSA来学习、研究和演示如何对非HTTP厚客户端执行安全渗透测试。
该工具基于Java语言开发,并提供了JavaFX图形化用户界面。
当前版本的VuCSA应用程序包含下列安全漏洞挑战:
1、缓冲区过度读取(模拟); 2、任意命令执行; 3、SQL注入; 4、数据枚举; 5、XML; 6、水平访问控制(横向渗透); 7、垂直访问控制(纵向渗透测试);
1、缓冲区过度读取(模拟);
2、任意命令执行;
3、SQL注入;
4、数据枚举;
5、XML;
6、水平访问控制(横向渗透);
7、垂直访问控制(纵向渗透测试);
注意事项:在你开始渗透测试和安全分析之前,请检查消息数据格式。
由于该工具基于Java编程语言开发,因此我们首先需要在本地设备上安装并配置好Java环境。接下来,广大研究人员可以使用下列命令将该项目源码克隆至本地:
git clone https://github.com/Warxim/vucsa.git
除此之外,也可以直接访问该项目的【Releases页面】下载编译版本,或直接运行gradle文件构建项目。
完成项目构建之后,就可以运行客户端和服务器端了。此时工具将会生成一个发布版本的包,这个包支持Windows和Unix操作系统,其中包含了sh/bat脚本,而脚本则负责使用JVM来运行服务器和客户端。
该项目主要分为下列三个模块:
1、vucsa-common:该模块包含了客户端和服务器端的常用功能(包含协议处理实用工具); 2、vucsa-client:包含安全漏洞的客户端,带有JavaFX图形化用户界面; 3、vucsa-server:包含安全漏洞的服务器端,可使用命令行终端接口访问;
1、vucsa-common:该模块包含了客户端和服务器端的常用功能(包含协议处理实用工具);
2、vucsa-client:包含安全漏洞的客户端,带有JavaFX图形化用户界面;
3、vucsa-server:包含安全漏洞的服务器端,可使用命令行终端接口访问;
服务器端和客户端之间用于通信的消息数据结构如下所示:
上述数据结构中的四个部分释义如下:
type:数据消息的类型(用于序列化/反序列化); target:目标处理器,用于接收数据消息; length:Payload的长度; payload:数据序列化为字节形式;
type:数据消息的类型(用于序列化/反序列化);
target:目标处理器,用于接收数据消息;
length:Payload的长度;
payload:数据序列化为字节形式;