[PHP] Kurze Frage zu eval

Benutzer-621

abgemeldet
20 April 2006
744
64
Hi,
wenn ich meinen Quelltext mit base64 kodiere und später mit eval ausführen lasse muss ich dann noch andere Risiken beachten, als wie bei normalem Quellcode (SQL Injektionen/GPC-Parameter etc.)?
 
Es ist nur entscheidend, wo dieser Base64-Code herkommt.
PHP:
eval(base64_decode(base64_encode("echo \"foo\";")));
is ungefährlich, da das ja nur eine andere Form von
PHP:
<?php echo "foo"; ?>
is. Bei
PHP:
eval(base64_decode($_GET['code']));
hingegen kann ein Angreifer ja beliebigen Code encodieren und dir übergeben.

Wieso dieses komisches Verfahren ? Vielleicht kann ich dann mehr Auskünfte geben.
 
Wenn du damit "entpackst" (schlechte Kompression :ugly:), ist das ja wie mein erstes Beispiel: Praktisch nur ne andere Schreibweise für den Code; da musst du nichts speziell beachten.

Wichtig bei eval() is immer nur, dass du weißt und dir 100%ig sicher bist, was im Argument steht.