Cerințe de implementare
1. Găzduirea aplicației web
Publicați aplicația web dezvoltată până în prezent, inclusiv componenta de backend implementată în PHP, pe serverul www.scs.ubbcluj.ro, la o adresă de forma: https://www.scs.ubbcluj.ro/~username unde username reprezintă numele vostru de utilizator. Dacă este necesar, migrați baza de date utilizată către un sistem de gestiune a bazelor de date compatibil cu serverul www.scs.ubbcluj.ro (de exemplu, SQLite).
2. Implementarea controlată a vulnerabilităților web și realizarea exploit-urilor
Pentru aplicația web dezvoltată până în prezent în cadrul laboratoarelor, se solicită introducerea intenționată a unor vulnerabilități de securitate, precum și realizarea unor exploit-uri care să demonstreze exploatarea acestora.
- SQL Injection: Faceți aplicația vulnerabilă la un atac de tip SQL Injection și realizați un exploit care demonstrează exploatarea acestei vulnerabilități.
- Cross-Site Scripting (XSS): Faceți aplicația vulnerabilă la un atac de tip Cross-Site Scripting (XSS) și realizați un exploit care demonstrează exploatarea acestei vulnerabilități în cadrul aplicației.
- Cross-Site Request Forgery (CSRF): Faceți aplicația vulnerabilă la un atac de tip Cross-Site Request Forgery (CSRF) și realizați un exploit care demonstrează exploatarea acestei vulnerabilități.
- Unrestricted File Upload: Faceți aplicația vulnerabilă la un atac de tip Unrestricted File Upload și realizați un exploit care demonstrează exploatarea acestei vulnerabilități.
- Path Traversal Attack: Faceți aplicația vulnerabilă la un atac de tip Path Traversal și realizați un exploit care demonstrează exploatarea acestei vulnerabilități.
3. Remedierea vulnerabilităților
După demonstrarea exploit-urilor, toate vulnerabilitățile menționate anterior trebuie remediate (patch-uite). După predarea laboratorului, aplicația găzduită pe server trebuie să rămână în forma securizată, fără vulnerabilțile introduse anterior. Identificarea ulterioară a unor vulnerabilități care pot conduce la compromiterea securității serverului www.scs.ubbcluj.ro va conduce la depunctarea notei finale la disciplina Programare Web.
Observații suplimentare
În cadrul orelor de laborator pot fi formulate și cerințe suplimentare față de cele prezentate în acest enunț. Pentru fiecare întrebare adresată de cadrul didactic referitoare la codul sursă al rezolvării, la care studentul nu poate oferi un răspuns justificat, se vor scădea 2 puncte din nota laboratorului.