Skip to content
This repository has been archived by the owner on Aug 11, 2022. It is now read-only.

PaulDance/vulnChat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vulnChat

A very vulnerable online chat application

This project is meant to be a training tool to learn what are the possibilities for vulnerabilities when programming network applications and how to exploit them. The basic idea for the application supporting the tool is an online chat in which users connect to a distant server and use it to send and receive messages in a channel-like manner.

For now, it is a work-in-progress project and not a lot of things are implemented yet, but I plan to develop it into a more complete shape following the model of DVWA, where the server manager sets a sort of difficulty that affects what type of protection is applied when communicating between a client and the server. For example, the starting point would be only functioning but totally unprotected, then the next level could make it check the client IP address to avoid talking to the wrong person, then adding some Java serialization to obfuscate a bit the message, then some kind of home-made but easy to crack cipher, etc...

In its current shape, it is mostly functionning - although there has not been any sort of heavy testing done - and is in the first level: super easy, everything is sent in clear, no checks for IP address and other intended or unintended bugs... You can try it for yourself by using the precompiled jars in the bin folder. There you will find two: one for the client and one for the server. Start first the server; it will open up a small configuration dialog in which you can type the port number your computer will then host the chat server on; when done and if the port was free, a white on black console then pops up giving you information on the current server activity. Now you can start the client. Same idea, first a dialog asking for three things: the server IP address to connect to, its port and the user's nickname for this session. After that, a chat window opens up where you will find two fields: a text area at the bottom for the user input and an other one at the top for the current chat messages. You can then start sending messages to others by typing in the input area and pressing enter. Multiple clients can be started, that allows you to visualize the effects in the server console.

Have fun!