OS Commando injectie

Wat is OS Commando injectie?

een OS-opdrachtinjectie is een beveiligingsprobleem op het web dat het uitvoeren van ongeautoriseerde besturingssysteemcommando ‘ s mogelijk maakt. Een OS Commando injectie kwetsbaarheid ontstaat wanneer een webapplicatie stuurt ongesanitiseerde, ongefilterde systeem commando ‘ s uit te voeren. Door de onvoldoende invoervalidatie kon een aanvaller hun eigen commando ‘ s injecteren om te worden bediend op het shell-niveau. De aanvaller introduceert besturingssysteem commando ‘ s via door de gebruiker aangeleverde gegevens zoals cookies, formulieren of HTTP headers.

dit is een gevaarlijke kwetsbaarheid omdat de door de aanvaller geleverde OS-commando ‘ s meestal worden uitgevoerd met de privileges van de kwetsbare toepassing. Daarom zou een aanvaller volledige controle kunnen krijgen over de host die syOS Commando injectiestam gebruikt, waardoor de toepassing en al zijn gegevens in gevaar zouden komen.

in tegenstelling tot code-injectie kwetsbaarheden die bestaan wanneer een aanvaller uitvoerbare invoer naar een programma kan indienen en de software trucs in het uitvoeren van die invoer. Een commando injectie kwetsbaarheid maakt gebruik van de zwakke punten van een onbeschermd systeem dat het uitvoeren van willekeurige commando ‘ s mogelijk maakt zonder code te injecteren. Beide kwetsbaarheden ontstaan door gebrek aan goede input/output data validatie.

Nuttige Commando ‘s

Hieronder staan een aantal nuttige commando’ s die kan geven u meer informatie over het besturingssysteem dat u aanvallen

Doel van de opdracht

Linux

Windows

de Naam van de huidige gebruiker

whoami

whoami

Besturingssysteem

uname-a

ver

Netwerk configuratie

ifconfig

ipconfig /all

Netwerk verbindingen

netstat-an

netstat-an

processen

ps -ef

tasklist

Manieren van het injecteren van OS-commando ‘ s

om te testen of uw aanvraag voor een opdracht injectie kwetsbaarheid proberen met behulp van speciale tekens die enablecommands te worden geschakeld. Als u in staat bent om uw eigen commando uit te voeren dan is de webapplicatie kwetsbaar. De volgende opdrachtscheidingstekens werken op zowel Windows-als Unix-gebaseerde systemen:

  • &
  • &&
  • |
  • ||

andere commando – injectie payloads omvatten de ping-opdracht hieronder die een vertraging zal veroorzaken, zodat u kunt bevestigen dat de opdracht is uitgevoerd op basis van de tijd die de toepassing nodig heeft om te reageren. Het commando hieronder duurt 10 seconden om een antwoord te geven.

& ping-c 10 127.0.0.1 &

aanvallers kunnen ook bevestigen een OS Commando kwetsbaarheid door gebruik te maken van de NSLOOKUP commando om een domein ze controleren. Als het opzoeken gebeurt weten ze dat hun opdracht injectie succesvol was.

diverse andere commando ‘ s om uw toepassing te testen :

php-v geeft u PHP-versie die draait op webapplicaties server.

&&cat/etc/passwddisplays alle gebruikers op de backend Linux Server

/etc / shadowdisplays alle gehashte wachtwoorden, maar alleen als je draait met root privileges.

How to prevent OS command injection attacks

  1. Defense Option 1: Vermijd het direct aanroepen van OS commando ‘s-vermijd het direct aanroepen van OS commando’ s. Ingebouwde bibliotheekfuncties zijn een zeer goed alternatief voor OS-commando ‘ s.
  2. Defense optie 2: Escape waarden toegevoegd aan OS commando ‘ s specifiek voor elk OS – bijvoorbeeld leescapeshellcmd() in PHP.
  3. Defense optie 3: parametrering in combinatie met invoervalidatie – Ifuser-geleverd kan niet worden vermedenparameterizationandinput validation should be in use.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.