
🔍 Wpscanin käyttö: wordpress-haavoittuvuuksien löytäminen 2026
Olet päivittänyt lisäosat, määrittänyt HTTPS:n ja asentanut palomuurin. Sivustosi näyttää turvalliselta. Mutta mistä tiedät, ettei jossakin asennetussa lisäosassa ole haavoittuvuutta, jota hyödynnetään juuri nyt?
Manuaalinen ristiintarkistus haavoittuvuustietokannoista vie tunteja. WPScan tekee sen puolessa minuutissa: avoimen lähdekoodin WordPress-tietoturvaskanneri, jossa on komentorivikäyttöliittymä ja joka omien tietokantatilastojensa mukaan seuraa yli 73 000:ta haavoittuvuutta ytimessä, lisäosissa ja teemoissa. Alla: asennus, API-avain, perus- ja edistynyt skannaus, salasanojen väsytyshyökkäys.
💡 Pikaopas:
Asenna WPScan Ruby gemin, Dockerin tai Homebrewin kautta ja päivitä metatietokanta komennolla
wpscan --updateRekisteröidy ilmaiselle API-avaimelle osoitteessa wpscan.com: 25 pyyntöä päivässä, ilman avainta skanneri ei näytä haavoittuvuustietoja
Suorita perusskannaus:
wpscan --url https://your-site.com --api-token YOUR_TOKENTarkista haavoittuvat lisäosat ja teemat lipuilla
-e vpja-e vt, luettele käyttäjät lipulla-e uSalasanojen väsytyshyökkäystä varten valmistele sanalistatiedosto ja välitä se
--passwords-lipulla
Mikä WPScan on
WPScan, ilmainen ei-kaupalliseen käyttöön tarkoitettu WordPress-tietoturvaskanneri, on kirjoitettu Rubylla. Ensimmäinen julkaisu tuli kesäkuussa 2011, ja siitä lähtien työkalu on muodostunut de facto -standardiksi WordPress-sivustojen penetraatiotestauksessa.
Skanneri ristiintarkistaa asennetun WordPress-version, aktiiviset lisäosat ja teemat wpscan.com-sivuston WordPress-haavoittuvuustietokantaa vasten, jota ylläpitää tietoturva-asiantuntijoiden tiimi. Tietokantatilastojen mukaan se dokumentoi yli 73 000 haavoittuvuutta ytimessä, lisäosissa ja teemoissa. Jokainen merkintä on manuaalisesti varmennettu omistautuneen WordPress-asiantuntijatiimin toimesta. Vuodesta 2023 lähtien WPScan on ollut CVE-numerointiviranomainen ja myöntää suoraan CVE-numeroita WordPress-ekosysteemin haavoittuvuuksille.
Haavoittuvuuksien lisäksi WPScan osaa luetella käyttäjätunnuksia REST API:n ja kirjoittajasyötteiden kautta, väsyttää salasanoja sanakirjasta, löytää paljastuneita wp-config.php-varmuuskopioita, tietokantavedoksia ja avoimia virhelokeja.
Tärkeä lisensointivivahde: ilmaisen CLI-skannerin käyttö on sallittu vain ei-kaupallisiin tarkoituksiin. Asiakassivustoja skannaavat toimistot tarvitsevat maksullisen tilauksen. Ehdot on kuvattu virallisella WPScan-sivustolla.
Asennus ja päivitykset
WPScan on saatavilla kolmella tavalla. Valitse se, joka sopii työnkulkuusi.
Ruby gem, yleisvaihtoehto Linuxille, macOS:lle ja Windowsille, kun Ruby on asennettu:
1 gem install wpscan
Docker, eristetty ympäristö ilman riippuvuuksia:
1 docker pull wpscanteam/wpscan
Esimerkki Docker-ajosta:
1 docker run -it --rm wpscanteam/wpscan --url https://example.com -e u
Homebrew, macOS:lle:
1 brew install wpscanteam/tap/wpscan
Asennuksen jälkeen päivitä ensin paikallinen metatietokanta. Se sisältää tiedot uusimmista lisäosa- ja teemaversioista, ilman sitä skanneri ei pysty määrittämään, onko asennettu versio vanhentunut. Haavoittuvuustiedot pyydetään erikseen API:n kautta reaaliajassa.
1 wpscan --update
Päivitys kestää muutaman sekunnin. Tuloste näyttää WPScanin version ja vahvistuksen siitä, että tietokanta on ajan tasalla. Toista wpscan --update ennen jokaista auditointia: kehittäjät julkaisevat metatietopäivityksiä useita kertoja viikossa.
API-avain: avain haavoittuvuustietoihin
Yleisin aloittelijan virhe: ajetaan wpscan --url site.com ilman avainta ja ihmetellään, miksi skanneri on hiljaa haavoittuvuuksista. Ilman avainta WPScan toimii "vain metatiedot" -tilassa. Se kertoo, että lisäosa on vanhentunut, mutta ei kerro, mitkä CVE-tunnukset siihen liittyvät.
Rekisteröidy osoitteessa wpscan.com, se on ilmaista ja vie minuutin. Ilmaissuunnitelma antaa 25 API-pyyntöä päivässä. Yksi skannaus kuluttaa 1 pyynnön WordPress-versiosta, 1 pyynnön jokaisesta asennetusta lisäosasta ja 1 pyynnön jokaisesta teemasta. Tyypillisessä WordPress-sivustossa on yli tusina lisäosaa asennettuna, joten ilmaisraja riittää yhteen täyteen skannaukseen päivässä.
Avain välitetään --api-token-lipukkeella jokaisessa ajossa:
1 wpscan --url https://example.com --api-token YOUR_TOKEN
Jotta avainta ei tarvitse syöttää jokaiseen komentoon, tallenna se asetustiedostoon ~/.wpscan/scan.yml:
1 api_token: YOUR_TOKEN
Tämän jälkeen WPScan poimii avaimen automaattisesti.
Perussivuston skannaus
Minimaalinen auditointikomento:
1 wpscan --url https://example.com --api-token YOUR_TOKEN
Skanneri määrittää WordPress-version, aktiivisen teeman, havaitsee paljastuneet versionumerot ja tarkistaa perusasetusongelmat: wp-cron- ja readme.html-tiedostojen saavutettavuuden, uploads-hakemiston, käyttäjärekisteröinnin mahdollisuuden.
Tuloste on jäsennelty värimerkein: vihreä tietoviesteille, keltainen varoituksille, punainen löydetyille haavoittuvuuksille. Jokaisen haavoittuvuuden yhteydessä on linkki WPScan-tietokannan korttiin, jossa on kuvaus hyökkäysvektorista, versioista joita ongelma koskee ja korjaussuosituksista.
Perusskannaus kestää yleensä alle minuutin. Tarkka aika riippuu sivuston koosta ja palveluntarjoajan nopeudesta.
Haavoittuvien lisäosien löytäminen
Lisäosat, WordPressin tärkein hyökkäysvektori. WPScanin tilastojen mukaan yli 90% tunnetuista haavoittuvuuksista on lisäosissa. Tarkistuskomento:
1 wpscan --url https://example.com -e vp --api-token YOUR_TOKEN
-e vp -lippu (enumerate vulnerable plugins) listaa vain lisäosat, joissa on tunnettuja haavoittuvuuksia. Tämä on nopein ja käytännöllisin tila: se ristiintarkistaa asennetut lisäosat tietokantaa vasten ja raportoi vain ne, joissa on dokumentoituja ongelmia.
Oletuksena WPScan käyttää passiivista tunnistustilaa, joka analysoi sivun HTML:ää ilman ylimääräisiä pyyntöjä. Maksimaalisen kattavuuden saamiseksi palvelimen lisäkuormituksen kustannuksella vaihda sekamuotoiseen tilaan:
1 wpscan --url https://example.com -e vp --plugins-detection mixed --api-token YOUR_TOKEN
mixed-tila soveltaa ensin passiivista analyysiä ja tarkistaa sitten aggressiivisesti tunnettuja lisäosien polkuja havaitakseen piilotetut ja epäaktiiviset asennukset.
Jos skanneri löysi haavoittuvan lisäosan, päivitä se uusimpaan versioon. Kehittäjä on lähes varmasti julkaissut korjauksen. Jos päivitystä ei ole ja lisäosa on hylätty, poista se ja etsi vaihtoehto. Tunnetun haavoittuvuuden sisältävän lisäosan jättäminen tuotantosivustolle ei ole hyväksyttävää.
Haavoittuvien teemojen löytäminen
Teemat tarkistetaan samaan tapaan kuin lisäosat:
1 wpscan --url https://example.com -e vt --api-token YOUR_TOKEN
-e vt-lippu (vulnerable themes) tarkistaa aktiivisen teeman ja kaikki asennetut teemat tunnettujen haavoittuvuuksien varalta. Teemoja vastaan hyökätään harvemmin kuin lisäosia vastaan, mutta haavoittuvuuksia esiintyy, erityisesti teemoissa, joissa on sisäänrakennettuja sivurakentajia ja liukusäätimiä.
Teemojen oletustunnistustila on aggressiivinen, sillä passiivinen analyysi jättää usein huomaamatta epäaktiiviset teemat. Jos palvelin on heikko ja kuormitus kriittinen, rajaa passiiviseen tilaan:
1 wpscan --url https://example.com -e vt --themes-detection passive --api-token YOUR_TOKEN
Kun haavoittuva teema löytyy, toimi samalla periaatteella: päivitä tai poista. Lapsiteemat perivät pääteeman haavoittuvuudet, joten tarkista molemmat.
Käyttäjien selvittäminen
Hyökkääjä, joka tietää WordPress-käyttäjien kirjautumistunnukset, tarvitsee enää vain salasanat arvattavakseen. WPScan näyttää, mitkä tunnukset näkyvät ulospäin:
1 wpscan --url https://example.com -e u
Skanneri käy läpi käyttäjätunnukset ja poimii kirjautumistunnukset REST API:sta, kirjoittajien syötteistä (/author/name/) ja muista julkisista päätepisteistä. Tulos näyttää tältä:
1 [i] User(s) Identified: 2 [+] admin 3 [+] editor 4 [+] serg
Ihannetapauksessa tunnuksia ei pitäisi näkyä lainkaan. Jos WPScan löysi käyttäjiä, ryhdy toimenpiteisiin:
- Aseta profiiliasetuksissa näyttönimi, joka poikkeaa kirjautumistunnuksesta.
- Estä REST API valtuuttamattomilta kävijöiltä lisäosan tai
.htaccess-tiedoston avulla. - DNS-tason palomuuri, kuten Sucuri tai Cloudflare, estää skannerin jo ennen kuin se pääsee perille: näet aikakatkaisuvirheen käyttäjälistan sijaan.

Nykyiset WordPress-versiot rajoittavat tunnusten selvittämistä REST API:n kautta, mutta teemat ja lisäosat voivat avata kiertoteitä. Pelkkään ytimeen luottaminen ei riitä.
Salasanojen brute-force-murto
WPScan tukee sanakirjapohjaisia salasanahyökkäyksiä. Skanneri yrittää kirjautua jokaisella löydetyllä käyttäjätunnuksella jokaisella listatiedoston salasanalla. Toimenpide on raskas, mutta tulos on vaivan arvoinen: saat selville, käyttääkö kukaan ylläpitäjistä salasanaa qwerty123.
Tee tekstitiedosto, jossa on yksi salasana riviä kohden, ja aja:
1 wpscan --url https://example.com -e u --passwords /path/to/passwords.txt
Valmiita sanalistoja on saatavilla Kali Linuxissa (/usr/share/wordlists/) ja avoimista lähteistä, kuten SecLists-repositoriosta GitHubissa. Perustarkistukseen riittää tiedosto, jossa on 500-1000 yleisintä salasanaa.
Parametri --threads N ohjaa samanaikaisten yritysten määrää. Oletusarvo on 5. Nostaminen 20-30:een nopeuttaa brute-force-murtoa, mutta aiheuttaa huomattavaa palvelinkuormaa ja voi laukaista hosting-palvelun suojauksen.
Ennen brute-force-murron ajamista varmuuskopioi sivusto ja ilmoita hosting-palveluntarjoajalle: jotkut estävät IP-osoitteita useiden epäonnistuneiden kirjautumisyritysten vuoksi.
Lisäominaisuudet
WPScan osaa muutakin kuin perustason liitännäis- ja käyttäjätarkastukset. Tässä on muutamia hyödyllisiä käyttötapauksia.
Kaikkien liitännäisten etsiminen, ei vain haavoittuvien:
1 wpscan --url https://example.com -e ap --api-token YOUR_TOKEN
Lippu -e ap (all plugins) luettelee kaikki liitännäiset WPScanin tietokannasta. Toimenpide vie huomattavasti aikaa. Käytä täysiin tarkastuksiin, älä säännöllisiin tarkistuksiin.
Varmuuskopioiden ja tietokantavedosten havaitseminen:
1 wpscan --url https://example.com -e cb,dbe
Liput cb (config backups) ja dbe (database exports) etsivät julkisesti saatavilla olevia wp-config.php-varmuuskopioita ja SQL-vedoksia, jotka varmuuskopiointiliitännäiset ovat vahingossa jättäneet näkyviin. Tällainen avoimesti saatavilla oleva tiedosto on kriittisen vaarallinen: hyökkääjä saa tietokannan tunnistetiedot.
Huomaamaton skannaus:
1 wpscan --url https://example.com --stealthy --api-token YOUR_TOKEN
Lippu --stealthy lisää satunnaisia viiveitä pyyntöjen väliin, mikä naamioi skannerin toiminnan tavallisen kävijän käytökseksi. Hyödyllinen, jos palvelin estää aggressiivisesti epäilyttävän toiminnan.
Mediatiedostojen luettelointi:
1 wpscan --url https://example.com -e m1-100
Tarkistaa mediatiedostojen ID:t määritetyltä väliltä. Auttaa löytämään luottamuksellisia asiakirjoja, jotka ovat saatavilla suoralla linkillä, ja mediakirjaston ulkopuolelle ladattuja varmuuskopioita.
Kattava WPScan-video-opas asennuksesta edistyneisiin käyttötapauksiin:
⁉️🤔 Usein kysytyt kysymykset
Tarvitaanko WPScania, jos Jetpack Protect tai Wordfence on jo asennettu?
Kyllä, tarvitaan. Tietoturvaliitännäiset toimivat WordPressin sisältä ja estävät hyökkäyksiä reaaliajassa. WPScan katsoo sivustoa ulkopuolelta, aivan kuten hyökkääjä. Se löytää ongelmia, joita liitännäinen ei näe: paljastuneet varmuuskopiot, käyttäjien luetteloinnin epästandardien vektorien kautta, haavoittuvuudet ei-aktiivisissa mutta poistamattomissa liitännäisissä. Molemmat lähestymistavat yhdessä tarjoavat todellista puolustuksen syvyyttä.
Onko WPScan turvallinen sivustolleni? Eikö se kaada palvelinta?
Skanneri lähettää tavallisia HTTP-pyyntöjä, samanlaisia kuin tavallinen kävijä. Passiivisessa tilassa se analysoi vain HTML:ää ilman lisäkuormaa. Aggressiivinen tila täydellä liitännäisluetteloinnilla (
-e ap) tuottaa satoja pyyntöjä ja voi hidastaa heikkoa hosting-palvelua. Säännöllisiin tarkistuksiin käytä-e vp,vt,u, se on muutama kymmenen pyyntöä, turvallinen mille tahansa palvelimelle.
Voiko skannauksen automatisoida?
Kyllä. Kehittäjille toimii hyvin cron-työ, joka ajaa Docker-kontin kerran viikossa ja lähettää raportin sähköpostitse. Kaikille muille WPScan.com-palvelu skannaa sivustoja automaattisesti aikataulun mukaan ja lähettää ilmoituksia uusista haavoittuvuuksista. Optimaalinen tiheys: täysi skannaus kerran viikossa, korkean prioriteetin komponenttien tarkistukset päivittäin. Manuaalisiin tarkastuksiin ilmainen CLI riittää, jatkuvaan seurantaan kannattaa harkita automatisoitua ratkaisua.
Mitä tehdä, jos WPScan löysi haavoittuvuuden eikä päivitystä ole saatavilla?
Liitännäisen kehittäjä on hylännyt sen. Toimintamalli: (1) tarkista, hyödynnetäänkö haavoittuvuutta aktiivisesti, WPScanin tietokantakortti sisältää tämän tiedon; (2) jos hyökkäyksiä ei ole ja liitännäinen on liiketoiminnalle kriittinen, rajoita pääsyä siihen väliaikaisesti
.htaccess-tiedoston avulla ja suunnittele korvaamista; (3) jos hyökkäyksiä on kirjattu, poista liitännäinen välittömästi. Kompromissi toiminnallisuuden ja tietoturvan välillä on tässä mahdoton.
Miten WPScan eroaa muista WordPress-skannereista?
WPScan on ainoa skanneri, jolla on oma haavoittuvuustutkimustietokanta, joka on ollut olemassa yli kymmenen vuotta. Vaihtoehdot, kuten WPSeku, luetteloivat liitännäisiä staattisesta listasta ilman yksityiskohtaisia CVE-kortteja. WPScania tukee Automattic Jetpack-kumppanuuden kautta, mikä takaa projektin pitkäaikaisen kehityksen.
Mitä valita: CLI, Docker vai SaaS
Valinta riippuu tehtävistäsi. Nopea yhteenveto:
Vaihtoehto | Kenelle | Tiheys | Plussaa |
|---|---|---|---|
Docker | Yksi sivusto, kertaluonteinen tarkastus | Kerran kuussa | Ei riippuvuuksia |
Ruby gem + cron | Useita sivustoja | Viikoittain | Joustavat raportit |
WPScan SaaS | Toimisto, yli 10 sivustoa | Jatkuva | Ilmoitukset, hallintapaneeli |
- Jos sinulla on yksi sivusto ja tarvitset kertaluonteisen tarkistuksen, käytä Dockeria: yksi komento, nolla riippuvuutta.
- Jos sinulla on yli kymmenen sivustoa ja tarvitset säännöllisiä raportteja, Ruby gem cron-työssä hoitaa homman.
- Jos olet toimisto, jolla on sata asiakassivustoa, WPScan SaaS -tilaus poistaa seurantapäänsäryn.
Älä unohda API-tunnusta, ilman sitä näet vain puolet kuvasta. Aloita kolmella komennolla yllä olevasta "Pikakatsaus"-lohkosta. Puoli minuuttia, ja tiedät tarkalleen, onko sivustolla avoimia haavoittuvuuksia. Mikä tietoturvatyökalu on auttanut sinua käytännössä, kirjoita kommentteihin.



