Für Menschen · Seien Sie begeistert und Sie werden begeistern !
Wie man die XSS-Lücke ausnutzt und wie man den Wurm indiziert, das erklärt mybeNi. Das ganze basiert auf WordPress Version 2.2.1.
Was man davon halten soll - das muss jeder selbst entscheiden. In jedem Fall lohnt es sich, die Hinweise zu lesen. Es handelt sich um einen „freundlichen“ Wurm, der nur die Lücke aufzeigen will - ein Trost? Schön ist, dass der Wurm dem Admin hilft, die nötigen Lücken zu patchen.
Im weiteren werden alle 7 Lücken erläutert und als Beispiel dargelegt. Die Lücken sind im WP trac registriert und vielleicht erwartet uns bald ein Update. Wer sich händisch an die Arbeit machen will, der liest die Lösungen. In der Regel kommt die WordPress eigene Sicherheits-Funktion attribute_escape() zum Einsatz. Es sind 5 Lücken zu schließen - kurz und bündig im Folgenden.
wp-admin/upload-functions.php Zeile 109
<form<?php echo $enctype; ?> id="upload-file" method="post" action="<?php echo get_option('siteurl') . "/wp-admin/upload.php?style=$style&tab=upload&post_id=$post_id"; ?>">
wird zu:
<form<?php echo $enctype; ?> id="upload-file" method="post" action="<?php echo get_option('siteurl') . "/wp-admin/upload.php?style=" . attribute_escape($style) . "&tab=upload&post_id=" . attribute_escape($post_id); ?>">
wp-includes/functions.php Zeile 206
function get_option($setting) {
global $wpdb;
$setting = $wpdb->escape($setting);
// Allow plugins to short-circuit options.
$pre = apply_filters( 'pre_option_' . $setting, false );
wp-includes/functions.php Zeile 386
function delete_option($name) {
global $wpdb;
$name = $wpdb->escape($name);
wp_protect_special_option($name);
wp-admin/link-import.php Zeile 76
$cat_id = $_POST['cat_id'];
if ( $cat_id == '' || $cat_id == 0 )
wird zu:
$cat_id = (int) $_POST['cat_id'];
if ( $cat_id < 1 )
wp-admin/edit-comments.php Zeile 78
if ( isset( $_GET['apage'] ) )
wird zu:
if ( isset( $_GET['apage'] ) ) {
$page = (int) $_GET['apage'];
if($page < 1)
$page = 1;
}
bueltge.de [by:ltge.de] wird von Frank Bültge geführt, administriert und gestaltet. Alle Inhalte sind persönlich von mir ausgewählt und erstellt, nach bestem Gewissen und Können, was die Möglichkeit von Fehlern nicht ausschließt.
Das Weblog wird angetrieben von WordPress und aktuell gibt es 980 Beiträge, 18722 Kommentare in 14 Kategorien und 464 Tags.
Das Blog wird liebevoll mit xHTML & CSS in Handarbeit gestaltet. Erstellt mit ♥ zum Befüllen und Erhalten.
Design und Code ist unter Copyright
© 2001 - 2012 bueltge.de [by:ltge.de]
1. August 2007 um 15:21
Hey! das tolle an meinem wurm ist ja, das er nicht nur die Lücken zeigt sondern interaktiv mit dem Administrator zusammen die Lücken patcht!
)
Gruß beni
1. August 2007 um 15:24
Hallo Beni.
Hatte ich auch so verstanden. Danke nochmal, dass es ein freundlicher Wurm ist.
1. August 2007 um 15:53
Habe gerade mal deinen Wurm rein gelassen - ist schon erschreckend. Aber dass du alle Patches auf diesem Weg einspielst macht die Arbeit sehr schnell. Das ungute Gefühl dabei bleibt. Im Endeffekt bleibt nur das Vertrauen in deinen Wurm
oder die händische Arbeit.
1. August 2007 um 16:07
Trifft das ganze nur WP2.2 oder auch ältere Versionen?
1. August 2007 um 16:56
1. August 2007 um 20:49
Do you have any help in English? I can't figure out how to use the plug-in after it's been activated.
1. August 2007 um 21:15
Da ich mich gerade zu Tode gesucht habe, kurz die Rückinfo :
nicht in wp-admin/includes/upload.php Zeile 109 suchen (die gibt es erst in WP 2.3)
sondern wp-admin/upload-functions.php Zeile 109
1. August 2007 um 22:38
1. August 2007 um 23:09
Ist ja mal ganz nett gemacht das Ding
2. August 2007 um 07:55
You find help in english on the site of the worm mybeNi.
2. August 2007 um 07:56
Danke nochmal, habe vergessen es zu erwähnen, da ich in 2.3 gespielt habe.
2. August 2007 um 10:43
2. August 2007 um 11:07
2. August 2007 um 11:30
2. August 2007 um 12:19
2. August 2007 um 17:28
leider passiert bei mir nach dem klick auf "secure my blog" nichts - bin ich dann schon sicher ? oder was kann ich machen, das nach dem Klick auch etwas passiert (der klich verarbeitet wird)
2. August 2007 um 18:03
2. August 2007 um 19:29
Sorry, aber da solltest du lieber den Autor des Wirms fragen. Ich habe ihn nur auf einem Tesblog laufen lassen, rein aus Interesse. Die Patches habe ich händisch eingespielt.
3. August 2007 um 00:35
3. August 2007 um 02:39
Hi Frank, bin ich völlig verwirrt oder fehlen in der Anleitung für die functions.php die "wird zu" Teile?
3. August 2007 um 02:50
3. August 2007 um 05:53
Went ahead and rewrote the changes in English, verified them on my WordPress install
http://evaders.swrebellion.com/forums/postp401.html#401Feel free to use this or the pre-packaged files
3. August 2007 um 07:55
Der Syntax wird erweitert, genau hinsehen. Es gibt kein "wird zu".
3. August 2007 um 10:22
3. August 2007 um 11:27
Alles klar, hab nicht genau genug hingesehen... thx für den Post... bueltge wird ja immer mehr zum "inoffiziellen" offiziellen wp-deutschland blog
3. August 2007 um 11:59
Na na, nicht übertreiben - WPD macht das schon gut.
3. August 2007 um 12:01
Ja, find ich eh, sehr gut sogar. Trotzdem: ich find's genial, wie schnell du solche Fix-Anleitungen online hast.
3. August 2007 um 12:58
sorry... noch ne Frage: wenn ich den angebenen Code für edit-comments.php ersetze, dann bekomme ich im backend zwar keine fehlermeldung, aber immer "Es wurden keine Kommentare gefunden, die deinen Suchkriterien entsprechen." Da hat's irgendwo was.
3. August 2007 um 18:24
4. August 2007 um 01:19
5. August 2007 um 10:52
WordPress 2.2.2 bzw. 2.0.11 ist draußen, ich denke mal daß die Lücken entsprechend geschlossen wurden.
http://wordpress.org/development/2007/08/wordpress-222-and-2011/5. August 2007 um 10:59
Vielen Dank für die klärenden Infos, aber ich erhalte nach dem Editieren der wp-admin/edit-comments.php bei Aufruf einen Datenbankfehler.
Der Fehler tritt nach dem Reaktivieren der alen Datei nicht mehr auf.
Ich benutze WP 2.2.1, PHP Version 5.2.3 und MySQL-Client-Version: 5.0.32
Gruß Thorsten
5. August 2007 um 11:18
Nach dem Kommentar habe ich gelesen, daß 2.2.2 released wurde. Der Fehler wurde dadurch behoben.
5. August 2007 um 23:00
5. August 2007 um 23:28
7. August 2007 um 12:32
Habe die Version 2.2.2 installiert, damit ist es erledigt. Thanxx
8. August 2007 um 10:12
Yup, die läuft inzwischen bei mir auch.
15. August 2007 um 11:43
Habe die meisten meiner Blogs bereits auf die aktuelle WP Version aktualisiert...auf den anderen habe ich mal dein Plugin implementiert...danke für den Fix. Funktioniert einwandfrei.
Mark
8. Juni 2011 um 00:03
Ebenfalls 2.2.2, läuft...vielen Dank auch!