[PHP] eval() gibt code aus anstatt ihn auszuführen

11/07/2011 16:31 Snake124#1
Ich mal wieder ;)

ich habe ein "relativ" einfaches phpscript:

PHP Code:
eval(gzinflate(base64_decode(
'DdJHkqJQAADQfV+k22KBCIjUTE/XJwpIjrKZgk/wk5OInH7mneH9/Pn9MzyGj3xN'
.'mq9yR13RJEv+lSZzfqb+Zjnss/zr80PI1Gs9qjYAgl0EWL0ESHG0Nr6Wi8iZzs1f'
.'1BY9cIVHKmdZpG5erBTHW5ahpic6bsN86XHaNaZjL893q0dghZHIOmheJ8yfRPOY'
.'mfc4aAjdX4Os8tMynPmbLEodWEnNwMhAZmHhzmTVB6TVVv5j4hBwiG3D3TwuF8DA'
.'XBdYux4TLYKyHxSQScYimvhqhjpDZTRDXJJ1rQLJjd5vg2SczqYcuRs4efGmRnDi'
.'nbmnKeApsZGvugHcVn0OG5tK77FjJW7eht3BouxoAdfg6uk23zqag5YM4XACJ1mJ'
.'AGee076oXm2GD2L4uuzwRGj4tAV3psmtxJPomXzuRzEM72dWMN6NMKxX5ENPwdC1'
.'7fSuxR+bEcdawavxfoPriYoI7pHU2RTavjhcDbqwbjzAvTe9l6FA7ItnM5JExUwE'
.'ToY4ig4TEnxhKktlWs6OVoVZPJ0NPCJqUx8V6TkA2PnqcXHYzSCkYjHT09eqetas'
.'NP7eVWdAp7iBqGyQ+B6ThKi91UfL2vqXJ9QXbTZhWCLoh5wznBCQVSp1kBtuxmV6'
.'uFTcP3ot2U24ZGPXM8F9jfwGhZI2wtRmninslqavO+pFtZ7i2Ig0X/o2GyXVPPcL'
.'TmIrgS1FhHdYWLy+vz8Ph8Ovj5//Of8B'
)));

?> 
das eval soll mir eine funktion bereitstellen, aber stattdessen erzeugt es ein output des codes.

output:
PHP Code:
function check(){ global $code$license file_get_contents("./license"); $splitter explode(";"$license); $server $_SERVER["SERVER_ADDR"]; $query file_get_contents("http://license.codingszene.de/api.php?s=".$server); $splitter2 explode(";"$query); if($splitter[2] === $server and $splitter2[2] === $server and $splitter2[2] === $splitter[2]){ if($code === $splitter[5] and $code === $splitter2[5]){ if($license === $query){ if($splitter === $splitter2){ if($splitter2[4] <= time()){ return true; } else { return false; } } else { return false; } } else { return false; } } else { return false; } } else { return false; } } 
nun die frage, spinnt php oder ich^^

wenn ich, wie kann ich das problem beheben?
11/07/2011 17:44 yannickminecraft#2
Der Eval() ist denk ich mal nicht fixx im Script. Was ich meine ist das er diesen Code ausführt und wieder aus dem Speicher löscht. Du deklarierst ja nur eine Function check() aber callst sie nicht im Eval() selbst. Häng mal am ende ein check(); dran ;D
11/07/2011 19:01 Snake124#3
fehler gefunden -.-

phptags sollten auch mit in den string rein, dann noch das return ans ende gesetzt und gut is.

alles was in eval passiert bleibt auch im code ;) egal ob ich die funktion da schon calle oder nicht :) egal, geht jetz und das reicht ;)

thanks bekommste trotzdem :)

~closerequest