OS Command Injection

Hva ER OS command injection?

EN OS-kommandoinjeksjon er et sikkerhetsproblem på nettet som muliggjør kjøring av uautoriserte operativsystemkommandoer. ET SIKKERHETSPROBLEM MED OS-kommandoinjeksjon oppstår når et webprogram sender usanitiserte, ufiltrerte systemkommandoer som skal utføres. På grunn av den utilstrekkelige inndatavalideringen kan en angriper injisere sine egne kommandoer som skal betjenes på skallnivået. Angriperen introduserer operativsystemkommandoer via brukerleverte data som informasjonskapsler, skjemaer eller HTTP-overskrifter.

Dette er en farlig sårbarhet som angriper levert OS-kommandoer er vanligvis utført med rettighetene til den sårbare programmet. Derfor kan en angriper få full kontroll over verts drift sy  OS command injection stem kompromittere programmet og alle dens data.

I Motsetning til kodeinjeksjonssårbarheter som eksisterer når en angriper kan sende inn kjørbare inndata til et program og lure programvaren til å kjøre inndata. En kommandoinjeksjonssårbarhet utnytter svakhetene i et ubeskyttet system som gjør det mulig å utføre vilkårlige kommandoer uten å måtte injisere kode. Begge sårbarhetene oppstår fra mangel på riktig validering av inndata/utdata.

Nyttige Kommandoer

Nedenfor er noen nyttige kommandoer som kan gi deg ytterligere informasjon om operativsystemet du angriper

formålet med kommandoen

Linux

Windows

navn på nåværende bruker

whoami

whoami

Operativsystem

uname-a

ver

nettverkskonfigurasjon

ifconfig

ipconfig / alle

Nettverkstilkoblinger

netstat-en

netstat-en

Prosesser Som Kjører

ps-ef

tasklist

Måter å injisere OS-kommandoer

for å teste søknaden din for en kommandoinjeksjonssårbarhet, prøv å bruke metategn som gjør det mulig å koble sammen kommandoer. Hvis du er i stand til å kjøre din egen kommando, er webapplikasjonen sårbar. Følgende kommandoseparatorer fungerer på Både Windows-og Unix-baserte systemer:

  • &
  • &&
  • |
  • ||

Andre kommando injeksjon nyttelast inkluderer ping kommandoen nedenfor som vil utløse en tidsforsinkelse, slik at du kan bekrefte at kommandoen ble utført basert på tiden programmet tar for å svare. Kommandoen nedenfor tar 10 sekunder å returnere et svar.

& ping-c 10 127.0.0.1 &

Angripere kan også bekrefte ET SIKKERHETSPROBLEM I OS-kommandoen ved å bruke nslookup-kommandoen til et domene de kontrollerer. Hvis oppslaget oppstår, vet de at deres kommandoinnsprøytning var vellykket.

Diverse andre kommandoer for å teste programmet :

php-v Gir DEG PHP-versjon som kjører på webapplikasjoner server.

&&cat / etc / passwddisplays alle brukerne på Backend Linux Server

/ etc / shadowdisplays alle hashed passord, men bare hvis du kjører med root privilegier.

slik forhindrer DU OS command injection attacks

  1. Forsvar Alternativ 1: Unngå å ringe OS-kommandoer direkte-unngå å ringe OS-kommandoer direkte. Innebygde biblioteksfunksjoner er et veldig godt alternativ TIL OS-Kommandoer.
  2. Forsvarsalternativ 2: Escape-verdier lagt TIL OS-kommandoer som er spesifikke for hvert OS – for eksempelescapeshellcmd () I PHP.
  3. Forsvarsalternativ 3: Parameterisering i forbindelse med Inngangsvalidering – Ifuser-levert kan ikke unngåsparameterizationandinput validationbør være i bruk.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.