• STATISTIQUES
  • Il y a eu un total de 3 membres et 7084 visiteurs sur le site dans les dernières 24h pour un total de 7 087 personnes!


    1 membre s'est inscrit dans les dernières 24h!


    Membres: 2 608
    Discussions: 3 580
    Messages: 32 820
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [EN] Security Traps
    Site de challenge qui prétend être construit non pas dans le but de parfaire vos connaissances, mais plutôt dan...
    Challenges
    [EN] Big-Daddy
    Big-Daddy est site internet communautaire avec un effectif diversifié, y compris des artistes, des programmeur...
    Hacking
    [EN] osix
    Site de challenge qui utilise un système de level on chaque épreuve doit être réussie avant d'accédÃ...
    Challenges
    [FR] apprendre-a-manipuler
    Site d'apprentissage de la manipulation d'autrui.
    Hacking
    [EN] SecurityFocus
    SecurityFocus a été conçu pour faciliter la discussion sur des sujets liés la sécu...
    Vulnérabilités
    [EN] Astalavista
    Un site aux ressources incontournable depuis plusieurs années, Astalavista est réellement devenue un cl...
    Hacking
    [FR] Comment ca marche
     Gratuit et accessible à tous, ce site de communauté permet de se dépanner, se faire aider ...
    Webmaster

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!

    €



Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[PHP] Récuperer la liste des membres de N-PN avec curl
10-04-2013, 13h25 (Modification du message : 10-04-2013, 13h50 par InstinctHack.)
Message : #1
InstinctHack Hors ligne
Posting Freak
*



Messages : 1,366
Sujets : 184
Points: 299
Inscription : Dec 2011
[PHP] Récuperer la liste des membres de N-PN avec curl
Salut,

/ ! \ Je prend n-pn comme site pour vous montrer mais n'exécuter pas ce code, il vous voudras surement un ban. C'est juste pour que vous voyez la démarche.

J'ai récemment voulu obtenir la liste des membres d'un forum dont l'administrateur avez interdis la page liste des membres.
Qu'il est con et qu'est-ce que je suis intelligent Big Grin ( H.U.M.O.U.R )

déjà première chose, identifier où on peux récupérer les pseudos des gens
http://n-pn.fr/forum/memberlist.php
et analyser comment sont former les autres pages
http://n-pn.fr/forum/memberlist.php?sort...=30&page=5

également récuperer le nombre de page ( 44 actuellement )

et pour finir analyser le code html de la page :
Code HTML :

<tr>
        <td class="trow1" align="center"><!-- start: memberlist_user_avatar -->
<img src="./uploads/avatars/avatar_2020.jpg?dateline=1365462104" alt="" width="56" height="70" />
<!-- end: memberlist_user_avatar --></td>
        <td class="trow1"><a href="http://n-pn.fr/forum/member.php?action=profile&uid=2020"><span style="color:#628AAE">Nakayane</span></a><br />
<span class="smalltext">
        Nouveau<br />
       
        <img src="images/FantasyBlue/star.gif" border="0" alt="*" />
</span></td>
        <td class="trow1" align="center">08-04-2013, 23h17</td>
        <td class="trow1" align="center">Aujourd'hui, 12h04</td>
        <td class="trow1" align="center">3</td>
        <!-- start: memberlist_referrals_bit -->
<td class="trow1" align="center">0</td>
<!-- end: memberlist_referrals_bit -->
</tr>
 

(coucou Nakayane)

Et toutes les lignes qui présente un pseudo commence par :
Code :
    <td class="trow1"><a href="http://n-pn.fr/forum/member.php?action=profile&amp;uid=
on vas justement jouer sur ça par la suite.

Désormais il faut récuperer via un script le contenu des pages, et je vais utiliser CURL par php (si vous connaisez pas curl => http://oseox.fr/curl/ )

Code PHP :

                        $ch = curl_init('http://n-pn.fr/forum/memberlist.php?sort=regdate&order=descending&perpage=30&page='.$a.);
                        curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
                        curl_setopt($ch, CURLOPT_TIMEOUT,100000);
                        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,100000);
                        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                        curl_setopt($ch, CURLOPT_HEADER, false);
                        $page=curl_exec($ch);// Execution de la requête
                        if(curl_error($ch)!='')
                                echo curl_error($ch);
                        curl_close($ch);
 

et avec une simple boucle :
Code PHP :

for($a=1;$a<=44;$a++)
{
//le code précédant
}
 

on récupère le code html de toutes les pages ( je vous conseille un sleep(rand(0,5)); pour éviter qu'etre ban si vous tester ça sur un site )
d'ailleurs personnelement j'avais poussé le truc plus loin en définisant un intervalle d'extraction complet :
Code :
$number=44;
$time_min=1800;//le temps minimun que prendras l'extraction (en secondes)
$time_max=$time_min*2;//le max

$time_min/=$number;$time_max/=$number;//le temps min par page)
$time_min=ceil($time_min);$time_max=floor($time_max);//le temps max

//puis à chaque boucle
sleep(rand($time_min,$time_max));
(a noter que le temps max considère que vous avez la réponse instantannement de la part du serveur, ce qui est faux, donc réfléchissez un peu Wink )

Bon pour le moment on récupere le contenu mais on en fait rien :/ on vas essayer de parcourir les lignes de la page
Code PHP :

                $lines=explode(PHP_EOL,$page);
       
                $pseudos=array();
                foreach($lines as $key=>$value)
                {
                }
 

Rien de bien compliqué...

désormais rappelez-vous de ce que je vous avez dis que les lignes des pseudos, qu'elles commencait toujours par la meme séquence.
Alors on peux donc les trouver!
Code PHP :

                        $value=trim($value);
                        $search='       <td class="trow1"><a href="http://n-pn.fr/forum/member.php?action=profile&uid=';
                        if(substr($value,0,mb_strlen($search))==$search)
                        {
                                $pseudos[]=strip_tags($value);
                        }
 

et voilà on supprime les espaces au début et à la fin de la chaine, donc on compare si le début de la chaine est égal à ce que l'on search, on ajoute le contenu de la ligne en ayant préalablement retirer les balises html

Ensuite faut sauvegarder les pseudos ou les afficher (sinon le $pseudos=array() les supprimeras)

exemple
Code PHP :

                $file2=fopen('data.txt','a+');
                fwrite($file2,serialize($pseudos).PHP_EOL);
//              fwrite($file,implode(PHP_EOL,$pseudos).PHP_EOL.PHP_EOL);
                fclose($file2);
 


Si quelque vous semble pas clair, demandez-moi, je répondais Wink

bah suffit de rassembler les bouts quoi O.o si t'as compris le tuto, c'est pas compliquer, m'enfin, je vais le mettre.
Citation :un jour en cours de java j'ai attrapé les seins d'une fille mais elle m'a frappé en disant "c'est privé !!"
j'ai pas compris pourquoi, je croyais qu'on était dans la même classe
+1 (1) -1 (0) Répondre
10-04-2013, 13h37 (Modification du message : 10-04-2013, 13h37 par Polo.)
Message : #2
Polo Hors ligne
Benêt en chef
*



Messages : 110
Sujets : 4
Points: 25
Inscription : Mar 2013
RE: [PHP] Récuperer la liste des membres de N-PN avec curl
Citation :J'ai récemment voulu obtenir la liste des membres d'un forum dont l'administrateur avez interdis la page liste des membres.
Qu'il est con et qu'est-ce que je suis intelligent Big Grin

Je ne vois pas vraiment l'intérêt de prendre n-pn en exemple alors que la page listant les membres n'y est pas protégée...
Pour moi la principale difficulté c'est d'outre-passer la protection sécurisant l'accès à la liste des membres mais tu nous donne simplement la méthode pour récupérer la page via curl (ce qui ne présente aucun défi particulier, en soi).

Ce qui serait intéressant c'est de nous dire comment t'as outrepassé sa protection (c'est quand même pas juste en utilisant curl ?! o_O )...
+1 (0) -1 (0) Répondre
10-04-2013, 13h48 (Modification du message : 10-04-2013, 13h49 par InstinctHack.)
Message : #3
InstinctHack Hors ligne
Posting Freak
*



Messages : 1,366
Sujets : 184
Points: 299
Inscription : Dec 2011
RE: [PHP] Récuperer la liste des membres de N-PN avec curl
Ah tu veux la version compliquée ? J'aime <3
En fait le forum en question avais bloqué cette page, mais il y avais un gros sous-forum archive (présentation) et donc il était facile de récuperer les pseudos à partir de là, le problème c'est qu'il fallait être connecter pour y accéder, donc mon bot ne passais pas, alors je me suis connecter manuellement, et j'ai copié les cookies générés du domaine dans un fichier .txt pour que curl puisse les utiliser en rajoutant cette ligne :
Code PHP :

curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies.txt');
 

et ainsi mon bot pouvais lancer des requetes http comme si c'était moi, et donc il avais accès au forum.

(C'est rien de très compliqué en fait, ni de H4CK3R, juste une automatisation de récupération de données très longues à récuperer à la main (genre 600 pages xD ) )
(et ma première ligne d'introduction c'était plus pour souligner qu'une fois une information partagée sur internet, il est impossible de la rendre privée (on peux essayer de la rendre peu accesible comme c'était le cas ici par la masse d'opérations manuelles à faire) )

Rien d'extraordinaire, tu as raison Wink
Citation :un jour en cours de java j'ai attrapé les seins d'une fille mais elle m'a frappé en disant "c'est privé !!"
j'ai pas compris pourquoi, je croyais qu'on était dans la même classe
+1 (0) -1 (0) Répondre
12-04-2013, 19h18 (Modification du message : 12-04-2013, 19h26 par Hypnoze57.)
Message : #4
Hypnoze57 Hors ligne
Web Hacker
*



Messages : 98
Sujets : 13
Points: 28
Inscription : Feb 2012
RE: [PHP] Récuperer la liste des membres de N-PN avec curl
Tu peux aussi te connecter à un site via les headers !
Code PHP :
<?php
$options 
= array("http"=>array("header"=>"Cookie:PHPSESSID=000000000000000000000;"));
$c stream_context_create($options);
$file file_get_contents("http://site.com",0,$c);
echo 
$file;
?>

EDIT :
J'ai utilisé le même principe (que pour récupérer les membres sur un forum !) il y a déjà un bon moment pour récupérer les derniers exploits de Exploit DB (Web only !) et les afficher sur votre page ! Appeler votre fichier exploits.php si vous utilisez la fonction d'affichage des exploits ! (ou alors changer le nom dans la source.)

Code PHP :
<?php
set_time_limit
(0);
echo 
'<title>Derniers exploits</title>
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="style.css" /><a href="index.php">Retour Ã  l\'injecteur SQL</a><br />
Liste des derniers exploit relaté sur <a href="http://exploit-db.com/">Exploit-DB</a> (Web Exploit only):<br /><br />'
;
$url "http://www.exploit-db.com/webapps/";
$page file_get_contents($url);
$exploit explode('<td class="list_explot_description">'$page);

for(
$i=1;$i<=25;$i++) {
    
preg_match('#<a  href="http://www.exploit-db.com/exploits/(.*)</a>#'$exploit[$i], $exploits);
    
preg_match('#<a  href="http://www.exploit-db.com/exploits/(.*)">#'$exploit[$i], $nb_ex);
    
$exploits[1] = str_replace($nb_ex[1].'">'''$exploits[1]);
    echo 
'<a href="?id='.$nb_ex[1].'">'.$exploits[1].'</a><br />';
}

if(isset(
$_GET['id'])) {
    if(!empty(
$_GET['id'])) {
        
$id htmlentities(addslashes($_GET['id']));
        
$url 'http://www.exploit-db.com/exploits/'.$id;
        
$page file_get_contents($url);
        
$poc explode('<div id="container">'$page);
        echo 
$poc[1];
    } else {
        
header('Location: exploits.php');
    }
}
?>

Sinon InstinctHack, ton code est plutôt pas mal !
Make your own destiny now and forever !
+1 (1) -1 (0) Répondre
13-04-2013, 11h05
Message : #5
supersnail Hors ligne
Éleveur d'ornithorynques
*******



Messages : 1,610
Sujets : 72
Points: 466
Inscription : Jan 2012
RE: [PHP] Récuperer la liste des membres de N-PN avec curl
Sinon y'a aussi un RSS pour exploitdb :')
Mon blog

Code :
push esp ; dec eax ; inc ebp ; and [edi+0x41],al ; dec ebp ; inc ebp

"VIM est merveilleux" © supersnail
+1 (1) -1 (0) Répondre


Sujets apparemment similaires…
Sujet Auteur Réponses Affichages Dernier message
  [BASH] Connaitre les utilisateurs avec un le nom suivant InFamouZz 8 419 27-01-2014, 15h39
Dernier message: notfound
  [Python] Bruteforcer avec API Pexpect thxer 6 303 25-11-2013, 19h05
Dernier message: thxer
  [PHP] Récuperer le rapport de google sur le niveau de danger d'un site InstinctHack 2 177 16-04-2013, 11h12
Dernier message: InstinctHack
  [Php] Récuperer value d'une checkbox Atlas 6 285 28-09-2012, 13h31
Dernier message: EpicOut
  [Php] Récupérer la liste des proxys de Hide My Ass Proxies nowz 0 111 18-12-2011, 10h57
Dernier message: nowz

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut