OWASP Top 10 je lista deset najopasnijih sigurnosnih ranjivosti web aplikacija koju izrađuje Open Worldwide Application Security Project. Originalno alat za developere, ali u 2026. — kad svaki ozbiljniji shop barata podatcima kupaca, plaćanjima i osjetljivim transakcijama — i vlasnici shopova bi je trebali razumjeti. Ne da bi sami zakrpali rupe, nego da znaju što tražiti od svog developera ili hostinga.
Ovaj vodič prevodi OWASP Top 10 2021 (najnovija stabilna verzija, OWASP planira 2025 ažuriranje) na jezik koji razumije netko tko vodi shop, ne piše kod. Plus konkretne mjere koje možeš poduzeti za WordPress/WooCommerce i druge popularne CMS-ove.
Zašto te uopće zanima OWASP
Tri razloga:
- Posljedica hakerskog upada = ukradeni podaci kupaca, izgubljeno povjerenje, GDPR kazne, izgubljen prihod od downtime-a
- Compliance — PCI DSS (za kartice), GDPR (za osobne podatke), NIS2 (za određene sektore) — sve referenciraju OWASP best practices
- Tržišna prednost — ozbiljni B2B kupci pitaju sigurnosne upitnike. "Pratite li OWASP guidelines?" je standardno pitanje
OWASP Top 10 — što je svaka stavka i kako se manifestira
1. Broken Access Control
Što je: Sustav dopušta korisniku pristup nečemu što ne bi smio vidjeti. Klasičan primjer — kao gost možeš pristupiti URL-u /order/12345 i vidjeti tuđu narudžbu jednostavnim povećavanjem broja.
Kako te pogađa: Korisnik A vidi narudžbe korisnika B. Admin funkcionalnost dostupna običnom korisniku. GDPR breach.
Što napraviti: WooCommerce ima ugrađene kontrole, ali custom funkcionalnosti treba testirati. Treba force HTTPS svuda, koristiti standardne authentication libraryje, ne writeati custom auth logiku.
2. Cryptographic Failures
Što je: Osjetljivi podaci se ne enkriptiraju kako treba — ili uopće ne, ili s zastarjelim algoritmima.
Kako te pogađa: Lozinke koje se čuvaju kao plain text. Kartice u plain bazi. Stari TLS 1.0 koji omogućava intercepciju prometa.
Što napraviti: Forsiraj HTTPS (Let's Encrypt SSL je besplatan, vidi naš vodič). Lozinke uvijek hashirane preko bcrypt/argon2 (WordPress to radi by default). Nikad ne čuvaj brojeve kartica u svojoj bazi — koristi gateway tokenization (Stripe, Monri, Wspay).
3. Injection
Što je: Korisnik pošalje input koji se interpretira kao kod. Najpoznatiji: SQL injection (pošalje SQL kroz formu i čita bazu), XSS (pošalje JavaScript koji se prikazuje drugima).
Kako te pogađa: Hakerov SQL upit briše ti bazu. Skripta krade kolačiće drugih korisnika. Defacement.
Što napraviti: WordPress sam po sebi dobro štiti od SQL injection ako koristiš WP API. Problem nastaje kad imaš custom kod ili neauditirane pluginove. Drži pluginove na minimumu, iz pouzdanih izvora. Server-side input validation u svakoj formi. WAF (Web Application Firewall) na razini hostinga blokira poznate napade — naš hosting uključuje Imunify.
4. Insecure Design
Što je: Aplikacija je zamišljena nesigurno od starta. Primjer — "forgot password" koji odmah šalje plain lozinku na email umjesto reset linka.
Kako te pogađa: Cijela klasa napada moguća zbog dizajna, ne implementacije. Najteže za popraviti.
Što napraviti: Koristi proven CMS-ove i pluginove (WordPress, WooCommerce, Craft) umjesto custom-built. Threat modeling pri planiranju novih funkcionalnosti.
5. Security Misconfiguration
Što je: Sustav je sigurno dizajniran, ali loše konfiguriran. Default lozinke, debug mode u produkciji, otvoreni S3 buckets, .git folder u public_html-u.
Kako te pogađa: Često najlakši ulaz. Atomatic scanneri konstantno traže ovakve fail-ove i nalaze ih svaki dan.
Što napraviti:
- WordPress: Skini sve default admin korisnike, postavi 2FA (vidi vodič za 2FA), drži pluginove na update-u
- Sakrij wp-config.php, blokiraj xmlrpc.php ako ne koristiš
- Debug mode = FALSE u produkciji
- Force HTTPS + HSTS header
- cPanel: koristi jak password, 2FA, ograniči SSH na key-based auth
6. Vulnerable and Outdated Components
Što je: Tvoj sajt koristi staru verziju softvera (CMS, plugin, library) s poznatim sigurnosnim rupama.
Kako te pogađa: Botovi konstantno skeniraju internet za poznate ranjivosti. Stari WordPress + stari Elementor = 5-minutni hack.
Što napraviti:
- Auto-update WordPress core, pluginove i teme. Da, povremeno padne nešto — bolje to nego biti hackiran
- Audit pluginova kvartalno — izbacuj sve neaktivno i sve što nije updateano u zadnjih godinu dana
- Subscribe na security newsletters — WPSec, Wordfence, Patchstack publiciraju kritične ranjivosti čim se otkriju
- Na hostingu: Imunify360 ili sličan WAF automatski blokira poznate exploite čak i prije nego što ažuriraš
7. Identification and Authentication Failures
Što je: Slabe lozinke, brute-force napadi, session hijacking, nedostatak 2FA.
Kako te pogađa: Botovi bruteforce-aju admin login. Ako imaš slabu lozinku ili "admin / admin123" — to je kraj.
Što napraviti:
- Strong passwords — minimum 16 znakova, vidi naš vodič
- 2FA obavezan za sve admin korisnike
- Limit login attempts — plugin koji blokira IP nakon 5 neuspješnih pokušaja
- Promijeni admin URL s
/wp-adminna nešto custom — blokira većinu automatskih napada - Sigurne sessions — secure cookies, HttpOnly flag
8. Software and Data Integrity Failures
Što je: Sustav vjeruje update-ovima ili kodu iz nesigurnih izvora bez verifikacije. Najveći scenarij: supply chain attack — haker kompromitira plugin koji ima 100.000 instalacija.
Kako te pogađa: Skupa, sporadična, ali katastrofalna. Tvoj sajt postaje malware distributer kroz "legitimnu" update.
Što napraviti:
- Pluginovi samo iz WordPress.org ili pouzdanih komercijalnih izvora (Elegant Themes, StudioPress, ThemeForest top sellers)
- NIKAD ne instaliraj "besplatnu" verziju paid plugina s torrent ili nulled sajtova — to je glavni vektor malware-a u WordPress ekosistemu
- Checksum validation — WordPress sam validira core fajlove
- Backupi — JetBackup 4x dnevno + 30 dana retention = ako padneš, vratiš na verziju prije infekcije (vidi vodič za backup)
9. Security Logging and Monitoring Failures
Što je: Napad se dogodio, ali nisi znao ni 6 mjeseci kasnije. Bez logova, bez detection-a.
Kako te pogađa: Najgori dio: ne znaš da imaš problem. Hakeri tiho čuvaju pristup, kradu podatke, hostaju malware.
Što napraviti:
- Audit log plugin (WP Activity Log, Stream) — bilježi sve admin akcije
- File integrity monitoring — Imunify360 ili Wordfence detektira promjene u core fajlovima
- Email alerts za nove user registracije, plugin install, theme switch
- Periodični security scan — minimum jednom mjesečno
10. Server-Side Request Forgery (SSRF)
Što je: Hakerov zlonamjeran request prisili server da napravi request prema internom resursu. Specifično, ali ozbiljno.
Kako te pogađa: Najčešće u custom integraciji s vanjskim API-jima koji prihvaćaju URL kao parametar.
Što napraviti: Whitelist domains kojima server smije pristupiti. WAF na razini hostinga.
Praktični checklist za WP/WooCommerce shop
Konkretne mjere za napraviti danas, redom prioriteta:
- SSL/HTTPS — sve preko HTTPS-a (Let's Encrypt besplatan)
- 2FA na svim admin nalozima
- Strong unique passwords (password manager)
- Auto-update WP core + pluginovi + teme
- Plugin audit — izbaciti sve neaktivne i nepouzdane
- Limit login attempts (Limit Login Attempts Reloaded plugin)
- Promijeni admin URL (WPS Hide Login)
- Disable XML-RPC ako ne koristiš
- Backup retention — minimum 14 dana, idealno 30+ (JetBackup)
- WAF na hostingu — Imunify360 ili sličan
- Activity log plugin za audit trail
- File integrity monitoring
- Disable file editing iz wp-admin —
define('DISALLOW_FILE_EDIT', true); - Hide WP version u headerima i meta tagovima
- Secure wp-config.php — premjesti izvan public_html-a ako možeš
Što WMD nudi za sigurnost
Naš hosting uključuje sigurnosni stack po default-u:
- Imunify360 WAF — automatska detekcija i blokiranje OWASP Top 10 napada
- Daily malware skening svih fajlova
- CloudLinux LVE izolacija — drugi sajtovi te ne mogu kompromitirati
- Besplatni Let's Encrypt SSL s auto-obnavljanjem
- 2FA podrška za cPanel i korisničke stranice
- JetBackup 4x dnevno + 30 dana retention
- DDoS protekcija na razini mreže
- Brute-force protection za cPanel, WordPress i druge admin pristupe
Ako si već imao incident — pogledaj što učiniti kad ti je web hackiran ili nas direktno kontaktiraj.
Kad treba security audit profesionalca
- Pred ozbiljnim B2B partnerom koji traži PCI DSS dokaze
- Nakon značajnog rasta prometa (preko 10.000 korisnika dnevno)
- Ako manipuliraš osjetljivim podacima (zdravlje, financije, djeca)
- Nakon ozbiljnog incidenta — i prije i poslije remediation
Za većinu malih i srednjih shopova, gornji checklist + WMD sigurnosni stack pokriva 95% OWASP rizika.
Zaključak
OWASP Top 10 zvuči zastrašujuće, ali velika većina napada koristi iste 3-4 ranjivosti: zastarjelo softver, slabe lozinke, missing 2FA, nesigurne plugin. Pokrij to — i već si u top 10% sajtova po sigurnosti.
Sigurnost nije jednokratan posao. To je navika: mjesečni plugin audit, kvartalni backup test (vrati staru verziju i provjeri da radi), godišnji security review. 30 minuta mjesečno te dijeli od kompletnog dezastera.
Trebaš ruku za security review? Javi se — radimo besplatne security audite za nove migrirane sajtove. Za postojeće klijente, security tiket ide kroz support 24/7.