vucsa
Vulnerable Client-Server Application (VuCSA) is made for learning how to perform penetration tests of non-http thick clients. It is written in Java (with JavaFX graphical user interface) and contains multiple challenges including SQL injection, RCE, XML vulnerabilities and more.
File Explorer
Download Latest Version (.zip)- client.bat
- client.sh
- server.bat
- server.sh
- BufferOverreadController.java
- BufferOverreadHandler.java
- CommandExecutionController.java
- CommandExecutionHandler.java
- EnumerationController.java
- EnumerationHandler.java
- DocumentItem.java
- HorizontalAccessControlController.java
- HorizontalAccessControlHandler.java
- RceDeserializationController.java
- RceDeserializationHandler.java
- SqlInjectionController.java
- SqlInjectionHandler.java
- VerticalAccessControlController.java
- VerticalAccessControlSecretHandler.java
- VerticalAccessControlUserInfoHandler.java
- XmlController.java
- XmlHandler.java
- ChallengeController.java
- ChallengeWrapper.java
- Client.java
- ClientConfig.java
- ClientManager.java
- ApplicationController.java
- LogController.java
- SettingsController.java
- AboutDialog.java
- Dialogs.java
- GuiApplication.java
- GuiBundle.java
- GuiConstant.java
- GuiUtils.java
- Bundle.java
- Main.java
- Main.css
- NotoSans-Bold.ttf
- NotoSans-Regular.ttf
- BufferOverreadTab.fxml
- CommandExecutionTab.fxml
- EnumerationTab.fxml
- HorizontalAccessControlTab.fxml
- RceDeserializationTab.fxml
- SqlInjectionTab.fxml
- VerticalAccessControlTab.fxml
- XmlTab.fxml
- LogTab.fxml
- SettingsTab.fxml
- Application.fxml
- Logo.png
- build.gradle
- ConnectionListener.java
- ConnectionListenerManager.java
- Connection.java
- ConnectionState.java
- ListenerManager.java
- StringListMessage.java
- StringListMessageDeserializer.java
- StringListMessageSerializer.java
- PingRequest.java
- PingRequestDeserializer.java
- PingRequestSerializer.java
- PingResponse.java
- PingResponseDeserializer.java
- PingResponseSerializer.java
- LoginRequest.java
- LoginRequestDeserializer.java
- LoginRequestSerializer.java
- LoginResponse.java
- LoginResponseDeserializer.java
- LoginResponseSerializer.java
- LoginStatus.java
- DocumentContentRequest.java
- DocumentContentRequestDeserializer.java
- DocumentContentRequestSerializer.java
- DocumentContentResponse.java
- DocumentContentResponseDeserializer.java
- DocumentContentResponseSerializer.java
- PlainMessage.java
- PlainMessageDeserializer.java
- PlainMessageSerializer.java
- MessageContent.java
- TextMessage.java
- TextMessageDeserializer.java
- TextMessageSerializer.java
- SearchRequest.java
- SearchRequestDeserializer.java
- SearchRequestSerializer.java
- SearchResponse.java
- SearchResponseDeserializer.java
- SearchResponseSerializer.java
- FoodEntity.java
- SecretRequest.java
- SecretRequestDeserializer.java
- SecretRequestSerializer.java
- UserInfoRequest.java
- UserInfoRequestDeserializer.java
- UserInfoRequestSerializer.java
- SecretResponse.java
- SecretResponseDeserializer.java
- SecretResponseSerializer.java
- UserInfoResponse.java
- UserInfoResponseDeserializer.java
- UserInfoResponseSerializer.java
- UserRole.java
- StorageItem.java
- StorageMessage.java
- StorageMessageDeserializer.java
- StorageMessageSerializer.java
- Message.java
- MessageDeserializer.java
- MessageHandler.java
- MessageHandlerManager.java
- MessageQueue.java
- MessageSerializer.java
- MessageType.java
- SerializedMessage.java
- GsonUtils.java
- MessageUtils.java
- ChallengeConstant.java
- Constant.java
- MessageHandlerManagerTest.java
- build.gradle
- 1.txt
- 1001.txt
- 11011.txt
- 12002.txt
- 2222.txt
- 5406.txt
- 8435.txt
- ConsoleBootstrap.java
- BufferOverreadChallenge.java
- BufferOverreadHandler.java
- CommandExecutionChallenge.java
- CommandExecutionHandler.java
- AuthService.java
- EnumerationChallenge.java
- EnumerationHandler.java
- User.java
- HorizontalAccessControlChallenge.java
- HorizontalAccessControlHandler.java
- BaseProcessor.java
- ChainedProcessorDescriptor.java
- ChainedProcessorOutputAsArgPlaceholder.java
- ChainedProcessors.java
- ClassProcessor.java
- ObjectProcessor.java
- Processor.java
- ProcessorCommand.java
- BasicCommand.java
- RceDeserializationChallenge.java
- RceDeserializationHandler.java
- SqlDatabase.java
- SqlInjectionChallenge.java
- SqlInjectionHandler.java
- VerticalAccessControlChallenge.java
- VerticalAccessControlSecretHandler.java
- VerticalAccessControlUserInfoHandler.java
- XmlChallenge.java
- XmlHandler.java
- Challenge.java
- ChallengeManager.java
- Configuration.java
- ConfigurationException.java
- ConfigurationLoader.java
- ConfigurationSaver.java
- ConnectionManager.java
- ServerConnection.java
- ServerListener.java
- ServerListenerManager.java
- Server.java
- ServerConfig.java
- ServerManager.java
- ServerState.java
- Main.java
- build.gradle
- .gitignore
- build.gradle
- CHANGELOG.md
- LICENSE.md
- README.md
- settings.gradle
# Installation Guide
1. Get the code
git clone https://github.com/Warxim/vucsa
Downloads the entire project code from GitHub to your computer.
cd vucsa
Moves into the project folder you just downloaded.
2. Gradle (Java/Kotlin)
Medium RecommendedPrerequisites
- Git Needed to download the project code from GitHub.
- JDK (Java) Required to build and run Java/Kotlin projects.
- Gradle If the repo includes gradlew (Gradle Wrapper), you don't need to install Gradle separately.
./gradlew build
Builds the project using Gradle.
A BUILD SUCCESSFUL message means it worked. The output is created under build/.
// repository documentation
Was this content helpful?
(0 ratings)
