Acasă › Blog › WPScan și Nikto: Cum scanați vulnerabilitățile website-ului dumneavoastră
WPScan și Nikto: Cum scanați vulnerabilitățile website-ului dumneavoastră
9 aprilie 2026 · Dorel Tănase, specialist în servicii SEO din 2007 · Securitate
WPScan și Nikto: Cum scanați vulnerabilitățile website-ului dumneavoastră înainte să o facă altcineva. Cele două unelte sunt gratuite, rulează de pe orice calculator cu Linux (sau din Docker) și arată exact ce vede un atacator din exterior: versiuni, module cu vulnerabilități publicate, utilizatori, fișiere expuse, antete lipsă. Le rulăm pe fiecare site nou pe care îl preluăm și, apoi, lunar.
Ghidul acoperă instalarea, comenzile pe care le folosim, interpretarea rezultatelor, remedierea pentru fiecare tip de constatare și limitele: ce nu vede niciunul dintre scanere. O precizare de la început: scanați doar site-uri pe care le dețineți sau pentru care aveți acordul scris al proprietarului; scanarea altor site-uri fără acord este ilegală.
WPScan și Nikto: Cum scanați vulnerabilitățile website-ului dumneavoastră
Ce face fiecare
WPScan este specializat pe WordPress: identifică versiunea, temele și modulele (cu versiunile lor), le compară cu baza de date de vulnerabilități WPScan (peste 50.000 de intrări), enumeră utilizatorii și caută fișiere de configurare expuse. Nikto este un scaner generic de server web: verifică mii de căi cunoscute ca periculoase, configurări greșite, versiuni de server expuse, antete de securitate lipsă și metode HTTP permise. Împreună acoperă aplicația și serverul.
Instalarea
# WPScan, ca gem Ruby (Ubuntu)
sudo apt install ruby ruby-dev build-essential libcurl4-openssl-dev -y
sudo gem install wpscan
wpscan --update
# sau din Docker, fără dependențe
docker pull wpscanteam/wpscan
# Nikto
sudo apt install nikto -y # Ubuntu; pe AlmaLinux: git clone https://github.com/sullo/nikto
Pentru WPScan, un token API gratuit de pe wpscan.com (25 de cereri pe zi) deschide accesul la detaliile vulnerabilităților; fără el, scanerul listează componentele, dar nu spune care sunt vulnerabile. Varianta Docker este potrivită pentru rulări ocazionale; cea din Docker se rulează cu docker run -it --rm wpscanteam/wpscan urmat de aceleași opțiuni.
WPScan: scanarea și interpretarea
wpscan --url https://www.exemplu.ro --api-token TOKEN --enumerate vp,vt,u,cb,dbe --random-user-agent -o raport-wpscan.txt
Opțiunile de enumerare: vp (module vulnerabile), vt (teme vulnerabile), u (utilizatori), cb (copii de siguranță ale configurației expuse), dbe (exporturi de bază de date expuse). Pentru inventar complet, ap și at enumeră toate modulele și temele, mai lent. Scanarea unui site obișnuit durează 2-10 minute și produce câteva sute de cereri; pe un site cu protecție anti-roboți, unele cereri sunt blocate, iar rezultatul este incomplet (folosiți o adresă IP permisă în firewall pentru scanare).
Ce înseamnă rezultatele și ce faceți
- Versiune WordPress veche, cu vulnerabilități listate: actualizați imediat; procedura este în ghidul despre actualizarea WordPress, a temelor și a modulelor.
- Modul sau temă cu vulnerabilitate (cu severitate și referință CVE sau WPScan): actualizați dacă există versiune corectată; dacă modulul e abandonat, înlocuiți-l. Un modul vulnerabil activ este cauza numărul unu a infecțiilor pe care le curățăm.
- Utilizatori enumerați: numele de autentificare sunt publice prin arhiva de autor (?author=1) și prin REST API (/wp-json/wp/v2/users). Blocați enumerarea (regulă în .htaccess sau modul de securitate) și, mai important, puneți parole lungi și al doilea factor, după ghidul despre autentificarea în doi pași.
- XML-RPC activ: dezactivați-l dacă nu îl folosiți (aplicația mobilă și Jetpack au nevoie de el); este folosit pentru atacuri de ghicire amplificate.
- Fișiere expuse (wp-config.php.bak, exporturi .sql, jurnale de depanare, readme.html cu versiunea): ștergeți-le sau blocați accesul.
- Listarea dosarelor activă (directory listing): dezactivați din .htaccess cu Options -Indexes.
- Versiunea WordPress în cod: ascunderea ei nu oprește atacurile (scanerele o deduc din fișiere), dar reduce zgomotul.
# .htaccess: blocarea enumerării utilizatorilor prin arhiva de autor
RewriteEngine On
RewriteCond %{QUERY_STRING} ^author=\d+ [NC]
RewriteRule ^ - [F]
Options -Indexes
Nikto: scanarea serverului
nikto -h https://www.exemplu.ro -ssl -Tuning 123b -o raport-nikto.html -Format htm
Nikto trimite mii de cereri spre căi cunoscute (fișiere de administrare, scripturi vechi, copii de siguranță, dosare de test) și raportează ce răspunde. Opțiunea -Tuning limitează tipurile de teste (1 fișiere interesante, 2 configurări greșite, 3 divulgare de informații, b identificare de software); fără ea rulează totul, mai mult zgomot. Durează 10-30 de minute și este vizibilă în jurnalele serverului; anunțați furnizorul dacă are protecție care blochează scanările, altfel adresa dumneavoastră IP ajunge pe lista neagră.
Ce înseamnă rezultatele și ce faceți
- Antete lipsă (X-Content-Type-Options, X-Frame-Options, Content-Security-Policy, Strict-Transport-Security): adăugați-le din configurația serverului sau din .htaccess; verificați apoi cu scanerul de antete de securitate. Pe paginile cu date sensibile puteți adăuga și antetul Connection-Allowlist, introdus în Chrome 152.
- Versiunea serverului sau a PHP în antete: ascundeți-le (ServerTokens Prod, expose_php Off).
- Fișiere sau dosare găsite (phpinfo.php, /backup/, /old/, /test/, .git/): ștergeți-le sau blocați-le; un dosar .git expus oferă tot codul sursă.
- Metode HTTP periculoase permise (TRACE, PUT, DELETE): dezactivați-le.
- Certificat sau configurație TLS slabă: reînnoiți și întăriți, după ghidul despre configurarea certificatelor SSL/TLS.
- Multe „găsiri” generice (căi de la alte aplicații care răspund 200 din cauza unei pagini de 404 personalizate): false pozitive; verificați manual ce răspunde de fapt și corectați pagina de eroare să dea 404 real.
Un exemplu de scanare, cap-coadă
Un site de prezentare WordPress preluat în administrare. WPScan, cu token: versiune WordPress cu două actualizări în urmă, patru module cu vulnerabilități publicate (una critică, într-un modul de formulare, cu încărcare de fișiere fără autentificare), utilizatorul „admin” enumerat, XML-RPC activ, fișierul readme.html expus. Nikto: antetele X-Frame-Options și Strict-Transport-Security lipsă, versiunea Apache și PHP în antete, dosarul /old/ cu o instalare veche și listare de dosare activă, metoda TRACE permisă. Remedierea, în ordine, în două ore: actualizarea modulului critic, apoi a celorlalte și a nucleului; ștergerea dosarului /old/ după verificare; blocarea XML-RPC și a enumerării; redenumirea utilizatorului admin și al doilea factor; antetele din .htaccess; ServerTokens și expose_php din configurația serverului. A doua scanare, a doua zi: zero constatări High sau Critical. Fără prima scanare, modulul de formulare ar fi rămas deschis; jurnalele arătau deja încercări de exploatare de la două adrese.
Alte scanere din aceeași familie
- Wordfence sau Solid Security (module WordPress): scanare din interior, cu semnături; complementare, nu înlocuitoare.
- OWASP ZAP: scaner de aplicație web, cu teste active pentru injecții și scripturi; mai complex, potrivit pentru aplicații personalizate.
- testssl.sh: doar configurația TLS, în detaliu; mai precis decât Nikto pe această parte.
- Scanerul de antete și cel de securitate de pe goai.ro: verificări externe fără instalare, pentru o privire rapidă.
- nmap: porturile deschise ale serverului, dincolo de web; servicii expuse pe care nu le știați.
Cât de des și cum automatizați
Lunar, sau la fiecare modificare importantă (module noi, migrare), și după orice anunț de vulnerabilitate pentru un modul pe care îl folosiți. Ambele scanere se pot rula din cron, cu rezultatul salvat și comparat cu cel anterior; diferența dintre două rapoarte (diff) este ce trebuie citit, nu întreg raportul. Pentru mai multe site-uri, un script care parcurge lista și trimite pe e-mail doar constatările noi, cu severitate High și Critical, ține sub control zeci de instalări în câteva minute pe lună.
Scanarea legală și responsabilă
Scanați doar ce dețineți sau pentru ce aveți acord scris; legea română (și cea europeană) tratează accesul neautorizat la sisteme informatice, inclusiv scanarea agresivă, ca infracțiune. Pe propriile site-uri, anunțați furnizorul de găzduire înainte de scanări intense, ca să nu vă blocheze adresa, și rulați scanările în afara orelor de vârf: Nikto trimite mii de cereri, iar pe un cont cu limite de resurse poate produce erori 508 pentru vizitatori. Păstrați rapoartele: sunt dovada că ați făcut verificări rezonabile, utilă la un incident și la conformitatea GDPR, descrisă în ghidul despre GDPR și securitatea datelor.
Cum citiți un raport fără să vă speriați
Un raport Nikto pe un site obișnuit are 30-80 de rânduri, dintre care majoritatea sunt informative sau false pozitive. Citiți-l în trei treceri: întâi constatările cu fișiere sau dosare găsite (le verificați în browser; ce răspunde cu conținut real e problemă), apoi antetele și versiunile (remediere de zece minute), apoi restul, pe care îl comparați cu raportul anterior. La WPScan, ordinea este severitatea: Critical și High azi, Medium săptămâna aceasta, Low la următoarea actualizare programată.
Ce nu văd scanerele
- Vulnerabilitățile necunoscute (zero-day) și cele din cod personalizat (teme și module scrise pentru dumneavoastră).
- Parolele slabe; WPScan poate încerca liste de parole, dar este un test lent și vizibil, de făcut doar cu acord.
- Infecțiile existente: un site deja compromis poate trece scanarea; pentru asta, verificarea sumelor de control și căutarea în fișiere, din ghidul despre detectarea și eliminarea malware-ului.
- Problemele de logică (un formular care acceptă orice, un cupon aplicabil de zece ori).
- Ce se întâmplă în interiorul serverului: permisiuni, utilizatori, servicii; pentru ele, auditul din ghidul de securitate pentru AlmaLinux 9.
Scanerele sunt primul strat: ieftin, rapid, repetabil. Al doilea strat este întărirea site-ului, descrisă în ghidul despre securizarea unui site WordPress, iar al treilea, planul pentru ziua în care ceva tot trece, din ghidul despre răspunsul la incidente. Verificarea externă a site-ului, cu antete, TLS, DNS și configurări, este disponibilă și fără instalare, prin scanerul de securitate GOAI.
Surse
- Documentația WordPress, securizarea WordPress: măsurile recomandate pentru fiecare constatare.
- Documentația Ubuntu Server, securitate: antetele, TLS și configurarea serverului web.
Cum a fost realizat acest articol
- Autor
- Dorel Tănase
- Publicat
- 9 aprilie 2026
- Ultima actualizare
- 3 octombrie 2026
- Surse
Lucrăm după principiile noastre de publicare, politica pentru corectare, politica pentru etică.

