OS Command Injection

co je OS command injection?

injekce příkazu OS je chyba zabezpečení webu, která umožňuje provádění neautorizovaných příkazů operačního systému. Zranitelnost vstřikování příkazů OS vzniká, když webová aplikace odešle neanitizované nefiltrované systémové příkazy, které mají být provedeny. Kvůli nedostatečné validaci vstupu mohl útočník zadat své vlastní příkazy, které mají být provozovány na úrovni shellu. Útočník zavádí příkazy operačního systému pomocí uživatelem dodaných dat, jako jsou soubory cookie, formuláře nebo hlavičky HTTP.

Jedná se o nebezpečnou chybu zabezpečení, protože příkazy operačního systému dodávané útočníkem jsou obvykle prováděny s oprávněními zranitelné aplikace. Proto, útočník by mohl získat úplnou kontrolu nad hostitelským operačním syOS command injectionkmenové kompromitující aplikaci a všechny jeho data.

na Rozdíl od vložení kódu chyby, které existují, když útočník může odeslat spustitelný vstup do programu a triky, software do běhu, že vstup. Zranitelnost vstřikování příkazů využívá slabiny nechráněného systému, který umožňuje provádění libovolných příkazů bez nutnosti vstřikování kódu. Obě chyby zabezpečení vyplývají z nedostatku správného ověření vstupních / výstupních dat.

Užitečné Příkazy

Níže jsou uvedeny některé užitečné příkazy, které vám mohou poskytnout další informace o operační systém útočí

Účel příkazu

Linux

Windows

Jméno aktuálního uživatele

whoami

whoami

Operační systém

uname-a

ver

konfigurace Sítě

ifconfig

ipconfig /all

Síťová připojení

netstat-an

netstat-an

Běžící procesy,

ps -ef

tasklist

Způsoby vstřikování OS příkazy

Za účelem testování své aplikace pro příkazový vstřikování zranitelnosti zkuste použít metaznaky, které enablecommands být zřetězeno. Pokud jste schopni spustit vlastní příkaz, pak je webová aplikace zranitelná. Následující příkaz separátory pracují na obou systémech Windows a Unix-založené systémy:

  • &
  • &&
  • |
  • ||

Další příkaz injekce náklad patří ping příkaz níže, která se bude spouštět časové zpoždění, což vám umožní potvrdit, že příkaz byl proveden na základě času, že aplikace má reagovat. Níže uvedený příkaz bude trvat 10 sekund, než se vrátí odpověď.

& ping-c 10 127.0.0.1 &

útočníci mohou také potvrdit zranitelnost příkazu OS pomocí příkazu nslookup do domény, kterou ovládají. Pokud se objeví vyhledávání, vědí, že jejich příkaz byl úspěšný.

různé další příkazy pro testování vaší aplikace:

php-v Vám dává verzi PHP spuštěnou na serveru webových aplikací.

&&cat /etc/passwddisplays všechny uživatele v backend Serveru Linux

/etc/shadowdisplays všechny hash hesla, ale pouze tehdy, pokud jste běží s právy roota.

jak zabránit útokům na vstřikování příkazů OS

  1. obrana Možnost 1: Vyhněte se přímému volání příkazů OS-vyhněte se přímému volání příkazů OS. Vestavěné funkce knihovny jsou velmi dobrou alternativou k příkazům OS.
  2. Defence option 2: Escape hodnoty přidané do příkazů OS specifických pro každý OS – for exampleescapeshellcmd () v PHP.
  3. Defence option 3: parametrizaci ve spojení s validací vstupu-ifuser-supplied nelze zabránit parametrizaci a validaci vstupu.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.