Os kommando injektion

Hvad er os kommando injektion?

en OS-kommandoindsprøjtning er en internetsikkerhedssårbarhed, der muliggør udførelse af uautoriserede operativsystemkommandoer. En OS-kommandoinjektionssårbarhed opstår, når en internetapplikation sender usanitiserede, ufiltrerede systemkommandoer, der skal udføres. På grund af den utilstrækkelige inputvalidering kunne en angriber injicere deres egne kommandoer, der skal betjenes på shell-niveau. Angriberen introducerer operativsystemkommandoer via brugerleverede data såsom cookies, formularer eller HTTP-overskrifter.

dette er en farlig sårbarhed, da de angriberleverede os-kommandoer normalt udføres med privilegierne i den sårbare applikation. Derfor kunne en angriber få fuld kontrol over værten, der opererer syos command injectionstem, der kompromitterer applikationen og alle dens data.

i modsætning til kodeinjektionssårbarheder, der findes, når en hacker kan indsende eksekverbar input til et program og narre programmet til at køre det input. En kommandoinjektionssårbarhed udnytter svaghederne i et ubeskyttet system, der muliggør udførelse af vilkårlige kommandoer uden at skulle injicere kode. Begge sårbarheder skyldes enmangel på korrekt input / output data validering.

nyttige kommandoer

nedenfor er nogle nyttige kommandoer, der kan give dig yderligere oplysninger om det operativsystem, du angriber

formålet med kommandoen

Linuks

vinduer

navn på nuværende bruger

hvem

hvem

styresystem

uname-a

ver

netværkskonfiguration

ifconfig

ipconfig / alle

netværksforbindelser

netstat-an

netstat-an

kørende processer

ps-ef

opgaveliste

måder at injicere os-kommandoer

for at teste din ansøgning om en kommandoinjektionssårbarhed, prøv at bruge metategn, der gør det muligt at binde kommandoer sammen. Hvis du er i stand til at køre din egen kommando, er internetapplikationen sårbar. Følgende kommandoseparatorer fungerer på både vinduer og unikke systemer:

  • &
  • &&
  • |
  • ||

andre nyttelast til kommandoindsprøjtning inkluderer ping-kommandoen nedenfor, som udløser en tidsforsinkelse, så du kan bekræfte, at kommandoen blev udført baseret på den tid, det tager applikationen at svare. Nedenstående kommando tager 10 sekunder at returnere et svar.

& ping-c 10 127.0.0.1 &

angribere kan også bekræfte en OS-kommandosårbarhed ved at bruge nslookup-kommandoen til et domæne, de kontrollerer. Hvis opslag opstår, ved de, at deres kommandoindsprøjtning var vellykket.

forskellige andre kommandoer til at teste din ansøgning:

php-v giver dig PHP version kører på internettet applikationer server.

&&alle brugere på backend-serveren

/etc/skyggeviser alle hashede adgangskoder, men kun hvis du kører med root-rettigheder.

Sådan forhindres OS-kommandoinjektionsangreb

  1. Forsvarsmulighed 1: Undgå at kalde os-kommandoer direkte-undgå at kalde os-kommandoer direkte. Indbyggede biblioteksfunktioner er et meget godt alternativ til os-kommandoer.
  2. Forsvarsmulighed 2: Escape – værdier tilføjet til os-kommandoer, der er specifikke for hvert operativsystem-for eksempelescapeshellcmd() i PHP.
  3. Forsvarsmulighed 3: parameterisering i forbindelse med inputvalidering – Hvisbrugerleveret kan ikke undgåsparameteriseringoginput valideringskal være i brug.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.