Rupture is a framework for easily conducting BREACH and other compression-based attacks.
For more information, please visit Rupture's home page: RuptureIt
Rupture is developed by:
- Dimitris Karakostas dimit.karakostas@gmail.com
- Dionysis Zindros dionyziz@gmail.com
- Eva Sarafianou eva.sarafianou@gmail.com
This research is being conducted at the Cryptography & Security lab at the University of Athens and the National Technical University of Athens.
Rupture is licensed under MIT. See LICENSE for more information.
Rupture uses Javascript for communication between the client code and the realtime server. Client code is compiled using browserify and server code is run on Node.js.
- Install gulp on your system.
npm install -g gulp
- Install required packages for compilation of the client code.
rupture/client $ npm install
- Use browserify to compile the code.
rupture/client $ gulp browserify
- Use watchify to automatically bundle together scripts compiled with browserify.
rupture/client $ gulp watchify
- Open test.html using browser.
- Install Node.js on your system (Instructions).
- Install required packages for server setup.
rupture/realtime $ npm install
- Start the server endpoint.
rupture/realtime $ npm start
Rupture uses Python for the Command & Control server. Communication between js realtime server and Python backend is performed with a Django API endpoint.
- Install Python 2.7.x.
- Install pip package manager.
- Install virtual enviroment module using pip.
pip install virtualenv
- Create Python virtual environment for the project.
rupture/backend $ virtualenv env
- Activate virtual environment.
rupture/backend $ source env/bin/activate
- Install package dependencies according to requirements.txt.
rupture/backend $ pip install -r requirements.txt
- Migrate database.
rupture/backend $ python manage.py migrate
- Run Django project.
rupture/backend $ python manage.py runserver