Skip to content

Kaikki WordPressistä, web-kehityksestä — ja paljon muuta

🔍 Wpscanin käyttö: wordpress-haavoittuvuuksien löytäminen 2026

🔍 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 --update

  • Rekisterö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_TOKEN

  • Tarkista haavoittuvat lisäosat ja teemat lipuilla -e vp ja -e vt, luettele käyttäjät lipulla -e u

  • Salasanojen 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:

1gem install wpscan

Docker, eristetty ympäristö ilman riippuvuuksia:

1docker pull wpscanteam/wpscan

Esimerkki Docker-ajosta:

1docker run -it --rm wpscanteam/wpscan --url https://example.com -e u

Homebrew, macOS:lle:

1brew 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.

1wpscan --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:

1wpscan --url https://example.com --api-token YOUR_TOKEN

Jotta avainta ei tarvitse syöttää jokaiseen komentoon, tallenna se asetustiedostoon ~/.wpscan/scan.yml:

1api_token: YOUR_TOKEN

Tämän jälkeen WPScan poimii avaimen automaattisesti.

Perussivuston skannaus

Minimaalinen auditointikomento:

1wpscan --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:

1wpscan --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:

1wpscan --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:

1wpscan --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:

1wpscan --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:

1wpscan --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.
WPScan-skannaus pysäytetty Sucuri CloudProxy WAF -palomuurin toimesta

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:

1wpscan --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:

1wpscan --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:

1wpscan --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:

1wpscan --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:

1wpscan --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.