NeoBit/Akademija/ Pen Testing
Pen Testing

Penetration testing web aplikacija - što obuhvaća

NB NeoBit tim 15. lip 2026 9 min čitanja
Penetration testing web aplikacija - što obuhvaća

Penetration testing web aplikacija je kontrolirani, autorizirani napad na vašu web aplikaciju u kojem sigurnosni stručnjak oponaša stvarnog napadača kako bi pronašao iskoristive ranjivosti prije nego ih zlonamjerni akter otkrije. Obuhvaća testiranje autentikacije, autorizacije, poslovne logike, ulaznih točaka (forme, API-ji, upload datoteka) i konfiguracije. Rezultat je izvještaj s dokazanim ranjivostima, procjenom rizika i konkretnim preporukama za ispravak.

Naše rješenje

Penetracijsko testiranje - otkrivamo ranjivosti prije hakera. Ne morate sami; mi to rješavamo za vašu firmu. Zatražite besplatnu procjenu.

Za razliku od automatskog skeniranja koje samo prijavljuje potencijalne probleme, penetration test stvarno pokušava iskoristiti ranjivost i dokazati njezin utjecaj. Na primjer, pristup tuđim podacima ili preuzimanje administratorskog računa. U nastavku objašnjavamo što točno test pokriva, kroz koje faze prolazi i kako se firme u BiH i regiji mogu pripremiti.

Zašto web aplikacije trebaju poseban tip testiranja

Web aplikacije su najčešća ulazna točka za napade jer su po definiciji izložene internetu. Webshop, korisnički portal, rezervacijski sustav ili interna aplikacija dostupna preko preglednika, sve su to mete. Mrežni vatrozid i antivirus ne mogu zaštititi od propusta koji nastaje u samom kodu aplikacije, primjerice kada se korisnički unos ne provjerava ispravno.

Upravo zato je penetration testing web aplikacija usmjeren na sloj aplikacije, a ne samo na infrastrukturu. Testira se način na koji aplikacija obrađuje podatke, kako razlikuje korisnike i što se događa kada netko pokuša zaobići predviđeni tok korištenja. Mnoge ranjivosti nisu vidljive iz pregledničkog sučelja, već ih otkriva tek stručnjak koji namjerno šalje neočekivane zahtjeve.

Tri pristupa: black-box, grey-box i white-box

Prije početka dogovara se koliko informacija tester dobiva. Izbor utječe na dubinu i trajanje testa:

PristupŠto tester znaKada je koristan
Black-boxNišta unaprijed, kreće kao vanjski napadačKada želite simulirati realan vanjski napad
Grey-boxIma korisničke račune i osnovne informacijeNajčešći izbor, dobar omjer dubine i troška
White-boxPristup izvornom kodu i dokumentacijiZa najtemeljitiju analizu, npr. kritične aplikacije

Za većinu poslovnih aplikacija grey-box pristup daje najbolji rezultat: tester ima barem jedan korisnički račun pa može testirati i dio iza prijave, gdje se obično nalaze najosjetljiviji podaci.

Faze penetration testa web aplikacije

Profesionalan test slijedi strukturiranu metodologiju. Iako se detalji razlikuju, faze su uglavnom ove:

1. Dogovor opsega i pravila

Definira se što se točno testira (domene, poddomene, API-ji), što je izvan opsega, u kojem terminu i s kojim ograničenjima. Ovdje se pribavlja pisana autorizacija, bez nje testiranje nije legalno. Dogovara se i testira li se produkcija ili posebno test okruženje.

2. Prikupljanje informacija i mapiranje

Tester mapira aplikaciju: koje stranice postoje, koje forme i parametri primaju unos, koje tehnologije se koriste, kako izgleda tok autentikacije. Ova faza određuje gdje su potencijalne ulazne točke za napad.

3. Identifikacija ranjivosti

Kombinacija automatskih alata i ručnog testiranja. Alati brzo pokrivaju širinu, ali ozbiljne ranjivosti, osobito one u poslovnoj logici, pronalazi tek iskusan tester ručnom analizom.

4. Iskorištavanje (eksploatacija)

Ključna razlika u odnosu na skeniranje: tester pokušava stvarno iskoristiti pronađene slabosti kako bi dokazao utjecaj. Cilj nije nanijeti štetu, nego potvrditi da je ranjivost stvarna i pokazati dokle napadač može doći.

5. Izvještavanje i preporuke

Najvažniji isporučeni dokument. Dobar izvještaj sadrži sažetak za upravu, tehnički opis svake ranjivosti, korake za reprodukciju, procjenu rizika (npr. po CVSS skali) i konkretne preporuke za ispravak, poredane po prioritetu.

6. Ponovno testiranje (retest)

Nakon što vaš tim ispravi nedostatke, tester provjerava jesu li ispravci stvarno učinkoviti. Bez retesta ne znate je li problem zaista riješen.

Koje se ranjivosti najčešće testiraju

Industrijski standard za web aplikacije je OWASP metodologija, posebno OWASP Top 10, lista najčešćih i najrizičnijih kategorija ranjivosti, te detaljniji OWASP Web Security Testing Guide. Tipična područja koja se provjeravaju uključuju:

  • Slomljena kontrola pristupa - može li korisnik vidjeti ili mijenjati tuđe podatke ili pristupiti funkcijama koje mu ne pripadaju.
  • Injection ranjivosti - SQL injection i slični propusti gdje se zlonamjerni unos izvršava na poslužitelju ili u bazi.
  • Cross-Site Scripting (XSS) - ubacivanje skripti koje se izvršavaju u pregledniku drugih korisnika.
  • Slabosti autentikacije - loše upravljanje sesijama, slabe lozinke, nedostatak zaštite od pogađanja.
  • Pogrešna konfiguracija - izložene administratorske stranice, nepotrebno detaljne poruke o greškama, zadane lozinke.
  • Propusti u poslovnoj logici - npr. mijenjanje cijene u košarici, preskakanje koraka plaćanja ili zlouporaba popusta.
  • Ranjive komponente i biblioteke - zastarjele verzije s poznatim ranjivostima.

Posebnu pažnju zahtijevaju propusti u poslovnoj logici jer ih automatski alati gotovo nikad ne otkriju. Oni proizlaze iz načina na koji baš vaša aplikacija radi.

Testiranje API-ja i modernih (SPA) aplikacija

Današnje web aplikacije rijetko su samo skup statičnih stranica. Velik dio funkcionalnosti vrti se kroz API-je (najčešće REST ili GraphQL) koje poziva JavaScript u pregledniku. To znači da se značajan dio napadne površine nalazi izvan onoga što korisnik vidi u sučelju.

Kod single-page aplikacija (SPA) napravljenih u alatima poput Reacta, Angulara ili Vuea, sigurnosna logika nikada se ne smije oslanjati na ono što se izvršava u pregledniku. Napadač zaobilazi sučelje i poziva API izravno. Zato kvalitetan test obavezno provjerava i sam API sloj: jesu li svi pozivi propisno zaštićeni provjerom autentikacije i autorizacije, mogu li se mijenjati parametri da bi se pristupilo tuđim resursima i otkriva li API više podataka nego što bi smio. Mnoge ozbiljne ranjivosti danas se nalaze upravo na razini API-ja, a ne u vidljivom dijelu aplikacije.

Penetration test nije isto što i skeniranje ranjivosti

Često se brka penetration test s automatskim skeniranjem ranjivosti. Razlika je suštinska:

  • Skeniranje ranjivosti je automatizirano, brzo i jeftino, ali daje popis potencijalnih problema, često s lažnim pozitivima. Korisno za redovito praćenje stanja.
  • Penetration test uključuje stručnjaka koji ručno potvrđuje i iskorištava ranjivosti, otkriva složene lance napada i propuste u logici, te procjenjuje stvarni poslovni utjecaj.

Najbolji pristup je kombinacija: redovito skeniranje za kontinuirani nadzor i periodički penetration test za dubinsku procjenu. Ako vodite kontinuiran nadzor sigurnosti, tu pomaže i upravljana detekcija i odgovor poput NeoBit Guardian 360 SOC usluge.

Kako se firme u BiH i regiji pripremaju za test

Dobra priprema štedi vrijeme i povećava vrijednost testa. Preduzećima u Mostaru i široj regiji preporučujemo sljedeće korake:

  • Popišite aplikacije i odredite prioritete, počnite od onih koje obrađuju plaćanja ili osobne podatke.
  • Pripremite test okruženje ako ne želite testirati produkciju, te testne korisničke račune različitih razina.
  • Obavijestite svog hosting providera ili pružatelja usluga ako je to ugovorno potrebno.
  • Osigurajte da razvojni tim bude dostupan za pitanja i za brzo ispravljanje kritičnih nalaza.
  • Dogovorite opseg i očekivanja unaprijed, jasna pravila sprečavaju nesporazume tijekom testa.

Ako niste sigurni koji je opseg primjeren vašoj aplikaciji, možete ispuniti NeoBit pentest upitnik i dobiti okvirnu procjenu prije nego se obvezujete na bilo što.

Koliko često testirati

Opće je pravilo provesti penetration test web aplikacije barem jednom godišnje, a uvijek i nakon značajnih promjena: nove funkcionalnosti, migracije na novu platformu ili veće izmjene u autentikaciji. Aplikacije koje obrađuju plaćanja ili osjetljive podatke obično se testiraju češće, a nerijetko to zahtijevaju i sigurnosni standardi ili poslovni partneri.

Test je vrijedan onoliko koliko su iskusni ljudi koji ga provode i koliko je izvještaj jasan i upotrebljiv. Ako tražite procjenu za svoju aplikaciju, javite se NeoBit timu i dogovorite razgovor o opsegu.

Što sadrži kvalitetan izvještaj

Izvještaj je krajnji proizvod za koji zapravo plaćate, pa je vrijedno znati po čemu prepoznati dobar. Kvalitetan izvještaj o penetration testu web aplikacije trebao bi sadržavati:

  • Sažetak za upravu - netehnički pregled stanja i poslovnih rizika, razumljiv osobama koje donose odluke o budžetu.
  • Popis nalaza po ozbiljnosti - svaka ranjivost ocijenjena je (npr. kritična, visoka, srednja, niska), najčešće uz CVSS bodovanje radi usporedivosti.
  • Korake za reprodukciju - jasne upute kako potvrditi svaki nalaz, kako bi ga vaš razvojni tim mogao ponoviti i razumjeti.
  • Dokaz utjecaja - konkretan pokazatelj što je napadač mogao postići, bez nepotrebnog izlaganja stvarnih podataka.
  • Preporuke za ispravak - praktične, primjenjive upute, a ne tek opće fraze, poredane po prioritetu.

Izvještaj koji samo nabraja alate i njihove sirove rezultate, bez konteksta i preporuka, znak je da je posao obavljen površno.

Česte zablude o penetration testiranju

U razgovoru s preduzećima u regiji često nailazimo na ista pogrešna uvjerenja koja vrijedi razjasniti:

  • \"Imamo HTTPS, dakle sigurni smo.\" SSL/TLS štiti podatke u prijenosu, ali ne sprečava ranjivosti u samoj aplikaciji, poput slabe kontrole pristupa ili injection napada.
  • \"Mali smo, nas nitko neće napasti.\" Velik dio napada je automatiziran i ne bira metu prema veličini, traži bilo koju ranjivu aplikaciju dostupnu na internetu.
  • \"Jednom smo testirali i to je dovoljno.\" Svaka nova funkcionalnost može uvesti novu ranjivost, pa je testiranje proces, a ne jednokratni događaj.
  • \"Skener nam je sve pokazao.\" Automatski alati ne razumiju poslovnu logiku i propuštaju lance napada koje pronalazi tek iskusan tester.

Često postavljana pitanja

Koliko traje penetration testing web aplikacije?

Trajanje ovisi o veličini i složenosti aplikacije te dogovorenom opsegu. Manja aplikacija može se testirati u nekoliko dana, dok veći sustavi s mnogo funkcionalnosti i integracija zahtijevaju više tjedana. Opseg i procjena trajanja dogovaraju se prije početka.

Može li penetration test oštetiti moju aplikaciju ili podatke?

Profesionalni test provodi se kontrolirano i uz dogovorena pravila kako bi se rizik sveo na najmanju mjeru. Cilj je dokazati ranjivosti, a ne nanijeti štetu. Ipak, preporučuje se testiranje na zasebnom okruženju ili uz svježu sigurnosnu kopiju kada se testira produkcija.

Koja je razlika između penetration testa i skeniranja ranjivosti?

Skeniranje je automatizirano i daje popis potencijalnih problema, dok penetration test uključuje stručnjaka koji ručno potvrđuje i iskorištava ranjivosti te procjenjuje stvarni utjecaj. Skeniranje pokriva širinu, a penetration test dubinu, najbolje ih je kombinirati.

Dobivam li izvještaj koji mogu pokazati partnerima ili reviziji?

Da. Rezultat testa je strukturiran izvještaj sa sažetkom za upravu, tehničkim opisom ranjivosti, procjenom rizika i preporukama. Takav dokument često služi i kao dokaz provedene sigurnosne provjere prema poslovnim partnerima ili u sklopu pripreme za standarde poput ISO 27001.

Povezani vodiči: Cyber sigurnost u BiH - kompletan vodič · Black box, white box i grey box testiranje - razlike · Penetration testing vs skeniranje ranjivosti - što odabrati