Sidebar
ein-/ausblenden

Der erste XSS Wurm für WordPress

Plugin für WordPress SEO

Anzeige

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; 
}

25 Kommentare zu „Der erste XSS Wurm für WordPress“

  1. 1
    Kommentar von mybeNi websecurity

    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! :o )

    Gruß beni

  2. 2
    Kommentar von Frank Bültge

    Hallo Beni.
    Hatte ich auch so verstanden. Danke nochmal, dass es ein freundlicher Wurm ist.

  3. 3
    Kommentar von Frank Bültge

    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.

  4. 4
    Kommentar von Michael

    Trifft das ganze nur WP2.2 oder auch ältere Versionen?

  5. 5
    Pingback von Script Artists | Wordpress-Wurm als Security-Patch?
  6. 6
    Kommentar von Rose

    Do you have any help in English? I can't figure out how to use the plug-in after it's been activated.

  7. 7
    Kommentar von Alex Rabe

    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

  8. 8
    Pingback von WordPress: der erste XSS-Wurm » Peruns Weblog
  9. 9
    Kommentar von Christian Schmidt

    Ist ja mal ganz nett gemacht das Ding ;)

  10. 10
    Kommentar von Frank Bültge

    You find help in english on the site of the worm mybeNi.

  11. 11
    Kommentar von Frank Bültge

    Danke nochmal, habe vergessen es zu erwähnen, da ich in 2.3 gespielt habe.

  12. 12
    Pingback von Der freundliche XSS-Wurm für Wordpress « Sicherheit,wordpress,XSS-Lücke,Weblogsoftware « Weblogs und Wikis
  13. 13
    Trackback von alles was bewegt
  14. 14
    Trackback von mynethome.de
  15. 15
    Pingback von Wordpress: 7 Sicherheitslücken in 2.2.1 | wordpress | XSBlog2.0beta
  16. 16
    Kommentar von bloggie

    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)

  17. 17
    Pingback von WordPress-Sicherheitslücken und vielleicht eine neue Art diese zu schliessen bei im web gefunden
  18. 18
    Kommentar von Frank Bültge

    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.

  19. 19
    Pingback von BullinoBlog » Ein freundlicher Wurm für Wordpress
  20. 20
    Kommentar von ritchie

    Hi Frank, bin ich völlig verwirrt oder fehlen in der Anleitung für die functions.php die "wird zu" Teile?

  21. 21
    Trackback von datenschmutz.net
  22. 22
    Kommentar von Evaders99

    Went ahead and rewrote the changes in English, verified them on my WordPress install
    http://evaders.swrebellion.com/forums/postp401.html#401

    Feel free to use this or the pre-packaged files

  23. 23
    Kommentar von Frank Bültge

    Der Syntax wird erweitert, genau hinsehen. Es gibt kein "wird zu".

  24. 24
    Trackback von Ïðîñòî Ïóòíèê
  25. 25
    Kommentar von ritchie

    Alles klar, hab nicht genau genug hingesehen... thx für den Post... bueltge wird ja immer mehr zum "inoffiziellen" offiziellen wp-deutschland blog :-)

  26. 26
    Kommentar von Frank Bültge

    Na na, nicht übertreiben - WPD macht das schon gut.

  27. 27
    Kommentar von ritchie

    Ja, find ich eh, sehr gut sogar. Trotzdem: ich find's genial, wie schnell du solche Fix-Anleitungen online hast.

  28. 28
    Kommentar von ritchie

    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.

  29. 29
    Pingback von Wordpress-Wurm ist Security-Patch | Future of News - Deine Hard- und Softwarenews
  30. 30
    Pingback von 5 Sicherheitslücken in Wordpress 2.2.1 mit Fixes » Marnems Sicht der Dinge
  31. 31
    Kommentar von Affenheimtheaterbesitzer

    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/

  32. 32
    Kommentar von Thorsten

    Vielen Dank für die klärenden Infos, aber ich erhalte nach dem Editieren der wp-admin/edit-comments.php bei Aufruf einen Datenbankfehler.

    WordPress Datenbank-Fehler: [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-20, 25' at line 1]
    SELECT SQL_CALC_FOUND_ROWS * FROM wp_comments WHERE comment_approved = '0' OR comment_approved = '1' ORDER BY comment_date DESC LIMIT -20, 25

    Es wurden keine Kommentare gefunden, die deinen Suchkriterien entsprechen.

    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

  33. 33
    Kommentar von Thorsten

    Nach dem Kommentar habe ich gelesen, daß 2.2.2 released wurde. Der Fehler wurde dadurch behoben.

  34. 34
    Pingback von raketenblog » Blog Archive » Blogwelt #1 Blogwelt | Wurmkur für Wordpress | Kettenblogger
  35. 35
    Trackback von CS Internet Blog
  36. 36
    Kommentar von Joachim

    Habe die Version 2.2.2 installiert, damit ist es erledigt. Thanxx

  37. 37
    Kommentar von ritchie

    Yup, die läuft inzwischen bei mir auch.

  38. 38
    Kommentar von Mark

    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

  39. 39
    Kommentar von manni

    Ebenfalls 2.2.2, läuft...vielen Dank auch! :-)

Kommentare sind geschlossen.