diff --git a/docs/OnTrack/Fix Vulnerabilities/Resources/nginx.conf.png b/docs/OnTrack/Fix Vulnerabilities/Resources/nginx.conf.png new file mode 100644 index 000000000..90a456e3e Binary files /dev/null and b/docs/OnTrack/Fix Vulnerabilities/Resources/nginx.conf.png differ diff --git a/docs/OnTrack/Fix Vulnerabilities/Resources/override.png b/docs/OnTrack/Fix Vulnerabilities/Resources/override.png new file mode 100644 index 000000000..6852ae0bf Binary files /dev/null and b/docs/OnTrack/Fix Vulnerabilities/Resources/override.png differ diff --git a/docs/OnTrack/Fix Vulnerabilities/Resources/process.png b/docs/OnTrack/Fix Vulnerabilities/Resources/process.png new file mode 100644 index 000000000..8de2f2a85 Binary files /dev/null and b/docs/OnTrack/Fix Vulnerabilities/Resources/process.png differ diff --git a/docs/OnTrack/Fix Vulnerabilities/Resources/proxy-nginx.png b/docs/OnTrack/Fix Vulnerabilities/Resources/proxy-nginx.png new file mode 100644 index 000000000..b7eda6d85 Binary files /dev/null and b/docs/OnTrack/Fix Vulnerabilities/Resources/proxy-nginx.png differ diff --git a/docs/OnTrack/Fix Vulnerabilities/clickjacking-vulnerability.md b/docs/OnTrack/Fix Vulnerabilities/clickjacking-vulnerability.md new file mode 100644 index 000000000..a2fdc6722 --- /dev/null +++ b/docs/OnTrack/Fix Vulnerabilities/clickjacking-vulnerability.md @@ -0,0 +1,126 @@ + +# AppAttack x OnTrack Vulnerability review + +## Team Member Name + +| Name | Student ID | +| ----------------------- | ---------- | +| Atharv Sandip Bhandare | 223650012 | + +--- + +## Vulnerability Details + +### Vulnerability Name + +Clickjacking Vulnerability + +### Vulnerability purpose + +Clickjacking works by embedding the legitimate OnTrack UI inside an invisible or disguised iframe on a malicious site. The attacker tricks users into interacting with this framed site, causing unintentional actions (e.g., clicking a login or delete button). + +This exploit is made possible by the absence of key HTTP response headers: +- X-Frame-Options +- Content-Security-Policy (frame-ancestors) +Without these, the browser allows the page to be embedded elsewhere. + +### Affected Assets and Interaction Points + +This vulnerability posed a severe threat to OnTrack's application security if successfully exploited. Below are the components which were vulnerable: +- `http://10.0.2.15:3000/` – Doubtfire API +- `http://10.0.2.15:4200/` - OnTrack Frontend +- `http://10.0.2.15:4200/assets` +- `http://10.0.2.15:4200/assets/icons` + +## Vulnerability outcomes + +### Outcomes + +Expected Outcomes if Vulnerability Was Exploited: +- Users could be tricked into performing unintended actions like submitting forms or clicking buttons on the legitimate app embedded in a malicious iframe. +- Sensitive actions such as login, logout, or grade modification could be triggered unknowingly. + +### Interactions: + +Routing Flowchart: ![process](Resources/process.png) + +1. #### User's Browser + - User initiates a secure (HTTPS) request to the application by visiting OnTrack. + +2. #### proxy-nginx.conf (Outer Gateway Layer) + - This is the first NGINX configuration layer that receives the user's request. It acts as a reverse proxy, meaning it handles incoming requests and decides where to route them next (frontend or backend). + + #### Security Headers Applied Here + The proxy-nginx.conf file is responsible for enforcing important HTTP security headers to protect against clickjacking and other attacks. + These include: + - `X-Frame-Options: DENY` -> Prevents the site from being embedded inside an `