Code Monkey home page Code Monkey logo

elec0138_group_h's Introduction

Group H: Security System for Online Ticket Sales Website

This is Group H's final assignment for the module ELEC0138: Security and Privacy 23/24.

In this project, a ticket sales website is created. The website is designed to sell tickets for various events.

The website has two versions:

  • The unsafe version has vulnerabilities that can be exploited by attackers,
  • while the safe version is designed to be secure and protect the user's data.

The website has various features, including ticket sales, shopping cart, and user reviews. The website is built using Flask for the backend and Vue.js for the frontend. The website uses SQLite as the database.

Group Member

  • Qiyuan Liu 23075647
  • Yiwen Yang 23143115
  • Zhaoyan Lu 23049710
  • Zirui Wang 23039407

Contents

Features

Attacks

Attack Type Description
Phishing Examine vulnerabilities that could be exploited by phishing attacks to educate and build awareness.
Brute-force Simulate brute-force attacks to test the strength of password policies and authentication methods.
CSRF (Cross-Site Request Forgery) Demonstrate how CSRF attacks can manipulate users into performing actions without their knowledge.
SQL Injection Assess the robustness of database systems against unauthorized data manipulation or access.
Credential Stuffing Highlight the risks of reused credentials and the importance of unique password policies.
DoS (Denial of Service) Showcase methods attackers use to disrupt service availability.
XSS (Cross-Site Scripting) Explore how malicious scripts can be injected into web pages and compromise user interactions.

Mitigations

Attack Type Description
Phishing Examine vulnerabilities that could be exploited by phishing attacks to educate and build awareness.
Brute-force Simulate brute-force attacks to test the strength of password policies and authentication methods.
CSRF (Cross-Site Request Forgery) Demonstrate how CSRF attacks can manipulate users into performing actions without their knowledge.
SQL Injection Assess the robustness of database systems against unauthorized data manipulation or access.
Credential Stuffing Highlight the risks of reused credentials and the importance of unique password policies.
DoS (Denial of Service) Showcase methods attackers use to disrupt service availability.
XSS (Cross-Site Scripting) Explore how malicious scripts can be injected into web pages and compromise user interactions.

Prerequisites

Environment Setup

We offer two versions of our ticket sales website.

One is the unsafe mode which may have some security risks and vulnerabilities, and the other is a safe mode that incorporates numerous mechanisms to safeguard the system.

You can change the website's mode using different options.

Backend

We are using Flask to create our backend server.

Open a new terminal and run:

$ make create-env
# or
$ conda env create -f environment.yml

Activate your conda environment:

$ conda activate security

To run the website:

$ cd v1/backend
# Safe mode (default)
$ python app.py
# Unsafe mode
$ MODE=unsafe python app.py

The backend server's URL is http://127.0.0.1:5000.

Frontend

We are using Vue.js to create our frontend website.

Open a new terminal and run:

$ cd v1/frontend

# Install all dependencies needed
$ npm install

# Choose your website mode
# Safe mode (default)
$ cat v1/frontend/.env.development
...
VITE_APP_MODE=safe
# Unsafe mode
$ cat v1/frontend/.env.development
...
VITE_APP_MODE=unsafe

# Launch your website
$ npm run dev

And then you can visit our ticket selling website through http://localhost:5173.

Database

We are using sqlite as our database.

By default::

  • username: elec0138
  • password: 8964

Debugging

elec0138_group_h's People

Contributors

louislu9911 avatar lqy09 avatar rhdrhd avatar yiwen-yy avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.