OS Command Injection

mikä on OS command injection?

KÄYTTÖJÄRJESTELMÄKOMENTORUISKE on web-tietoturvahaavoittuvuus, joka mahdollistaa luvattomien käyttöjärjestelmäkomentojen suorittamisen. OS command injection haavoittuvuus syntyy, kun web-sovellus lähettää unsanitized, suodattamaton järjestelmän komentoja suoritetaan. Puutteellisen syöttövahvistuksen vuoksi hyökkääjä saattoi pistää omia komentojaan käytettäväksi komentotulkkitasolla. Hyökkääjä esittelee käyttöjärjestelmän komentoja käyttäjän antamien tietojen, kuten evästeiden, lomakkeiden tai HTTP – otsikoiden kautta.

tämä on vaarallinen haavoittuvuus, sillä hyökkääjän toimittamat käyttöjärjestelmän komennot suoritetaan yleensä haavoittuvan sovelluksen oikeuksilla. Siksi hyökkääjä voisi saada täydellisen hallinnan isäntäkoneen operoinnista syOS command injectionstem vaarantaen sovelluksen ja kaikki sen tiedot.

toisin kuin koodin ruiskutushaavoittuvuudet, jotka ovat olemassa, kun hyökkääjä voi lähettää suoritettavan syötön ohjelmaan ja huijata ohjelmiston suorittamaan syötön. Command injection-haavoittuvuus hyödyntää suojaamattoman järjestelmän heikkouksia, mikä mahdollistaa mielivaltaisten komentojen suorittamisen ilman koodin syöttämistä. Molemmat haavoittuvuudet johtuvat puutteellisesta asianmukaisen tulo / lähtö tietojen validointi.

hyödyllisiä komentoja

alla on joitakin hyödyllisiä komentoja, jotka voivat antaa lisätietoja käyttöjärjestelmästä, jota vastaan hyökkäät

johtamisen tarkoitus

Linux

ikkunat

nykyisen käyttäjän nimi

whoami

whoami

käyttöjärjestelmä

uname-a

ver

verkkokokoonpano

ifconfig

ipconfig / all

verkkoyhteydet

netstat-an

netstat-an

käynnissä olevat prosessit

ps-ef

tasklist

tapoja pistää KÄYTTÖJÄRJESTELMÄKOMENTOJA

, jotta voit testata sovellustasi komennon injektiohaavoittuvuuden varalta kokeile metakertoimia, jotka mahdollistavat käskyjen yhdistämisen. Jos pystyt suorittamaan oman komennon, web-sovellus on haavoittuva. Seuraavat käskynerottimet toimivat sekä Windows-että Unix-pohjaisissa järjestelmissä:

  • &
  • &&
  • |
  • ||

muita komennon ruiskutuksen hyötykuormia ovat ping-komento, joka käynnistää aikaviiveen, jolloin voit vahvistaa, että komento suoritettiin sovelluksen vastaamiseen kuluvan ajan perusteella. Alla oleva komento vie 10 Sekuntia vastauksen palauttamiseen.

& ping-c 10 127, 0, 0.1 &

hyökkääjät voivat myös vahvistaa OS-komentohaavoittuvuuden käyttämällä nslookup-komentoa hallitsemaansa verkkotunnukseen. Jos look up tapahtuu he tietävät niiden komento injektio onnistui.

useita muita komentoja sovelluksen testaamiseen :

php-v antaa sinulle web applications server-palvelimella toimivan PHP-version.

&&cat / etc/passwddisplays kaikki backend Linux-palvelimen käyttäjät

/etc / shadowdsplays kaikki hajautetut salasanat, mutta vain jos käytät pääkäyttäjän oikeuksia.

Miten estää OS command injection attacks

  1. Defense Option 1: Vältä kutsumasta OS-komentoja suoraan-vältä kutsumasta OS-komentoja suoraan. Sisäänrakennetut kirjastotoiminnot ovat erittäin hyvä vaihtoehto käyttöjärjestelmän komennoille.
  2. Puolustusvaihtoehto 2: Pakoarvot lisätty kullekin käyttöjärjestelmälle ominaisiin Käyttöjärjestelmäkomennoihin – esimerkiksi PHP: n escapeshellcmd ().
  3. Puolustusvaihtoehto 3: Parametrisointia yhdessä syötön validoinnin – Ifuser-toimitetun-kanssa ei voida välttääparametrisointia ja syöttötietojen validointia tulisi käyttää.

Vastaa

Sähköpostiosoitettasi ei julkaista.