EventMaster is a desktop application for simulating various hacking methods for web applications. It's the perfect tool to understand vulnerabilities in modern web applications.
The shop offers tickets for concerts of popular bands with a complete ordering system, account management and admin interface. The program has been deliberately provided with vulnerabilities for teaching purposes, e.g. SQL injections. If a task is solved and a vulnerability is identified, the system provides visual feedback. The progress can be viewed on an overview page.
This project is created during my Bachelor thesis. It will be used at Leibniz University Hannover for foundation lectures.
⚠️ The project is under development, bugs may occur⚠️ The software is developed for educational purposes, don't use the attack techniques without permission on other applications and systems!⚠️ Works 100% offline, no data transmission to or from external services
- 13 exercises
- 3 attack techniques
- SQL-Injections
- Cross-Site-Scripting
- Broken Access Control
- Exercise control system - check the progress and get feedback for solved exercises!
- Full working ticket shop:
- Vuetify design
- Account management system
- Order process system
- Event locations with seat plan and seat reservation system during ordering process
- Global search
- Admin panel
- Product pages
- ExpressJs-Backend server
- REST-API
- SQLite Database
- URL simulation bar for electron application
- Works 100% offline
- Multi language support (German, English)
- Dark/Light-Mode
- Exercise progress PDF generation
- API-Documentation with Swagger
- Desktop application packed with Electron
- Database can be resetted complete or partially
- Axios
- Electron
- Electron Builder
- Express.js
- JsonWebToken
- jspdf
- Moment.js
- NPM
- Nodemon
- Pinia
- Sequelize
- SQLite 3
- Swagger
- TypeScript
- Vite
- Vue i18n
- Vue.js
- VueRouter
- Vuetify
- More attack techniques
- More exercises
- More languages
- Customize the offered set of exercises (for trainer)
- Image license view system (currently only in admin panel)
Go to releases and download one of the pre-builded images for your operating system.
- Download + extract the project
- Open the root folder with VS Code (recommended)
- Open the bash inside VS Code and install all necessary packages:
npm i
There are multiple commands to test parts or the whole project:
npm run vite:dev
: Start Vue frontend onlynpm run server:dev
: Start ExpressJs backend onlynpm run fullstack:dev
: Start front- and backend
The frontend runs on http://localhost:5173/
and the backend on http://localhost:3000/
npm run vite:build
: Build Vue frontend onlynpm run server:build
: Build ExpressJs backend onlynpm run fullstack:build
: Build front- and backendnpm run electron:build
: Build front- and backend to an Electron desktop applicationnpm run builder:build
: Build an installer file of the Electron application for current operating system. Electron-build has to run first!npm run builder:win
: Build an installer file of the Electron application for Windows operating systems. Electron-build has to run first!