php austricksen...

hallo,
ich weis,dass das nicht funkt, aber warum. Es ist nur eine Spielerei auf dem Eigenen Server. :)

PHP:
<?phpif ($_POST["Inhalt"]== 0) {    echo "i ist gleich 0";} elseif ($_POST["Inhalt"] == 1) {    echo "i ist gleich 1";} elseif ($_POST["Inhalt"] == 2) {    echo "i ist gleich 2";}?>

ich greife auf den Server zu mit http://localhost/index.php?inhalt=1)echo"dummesZahlenSpiel";
 
Is das 1:1 der Code? Dann fängts schon beim fehlenden Leerzeichen bei <?php an [emoji12]
Ich versteh auch nicht was du mit austricksen meinst bzw. was du genau vor hast?
 
Code Injection funktioniert nicht so einfach, wie du es dir vorstellst. Z.B.

PHP:
<?php echo $_GET['test']; ?>

Aufruf ?test=123;system('ping 8.8.8.8')

Der Befehl wird hierbei nicht ausgeführt, da er vom Interpreter als Text interpretiert wird und nicht als Code. Nicht so:

PHP:
<?php echo 123;system('ping 8.8.8.8'); ?>

Sondern so wird der Code eingefügt:

PHP:
<?php echo '123;system(\'ping 8.8.8.8\')'; ?>

Bei Code Injection Bugs handelt es sich dagegen üblicherweise um Bugs in der Parameterübergabe bei Funktionen, die Code als String übergeben bekommen und diesen dann ausführen z.B. bei einer eval()-Funktion. Hier ist es der Fall, dass Strings vom Interpreter als Code interpretiert werden und nicht als Text. Gleiches gilt z.B. für mysql_query-Funktionen bei SQL Injection Angriffen, nur dass hier der eingeschleuste Code nicht vom Interpreter ausgeführt wird, sondern vom SQL Server.

edit:
btw: Die \[php\] Tags verursachen das Problem mit den Leerzeichen.
 
Zuletzt bearbeitet:
Zurück
Oben