SEO, BASH, PHP et plus si affinités

L’opportunité souvent négligée

Petit billet pour les fouineurs en herbe et les autres. Certains d’entre vous ont passé {un peu|beaucoup|trop} de temps à {coder un tool pour trouver|chercher|spammer|XSSer} des backlinks sur des sites dits de « confiance ». Je ne vous apprends rien de neuf jusqu’ici puisque Tiger en parlait bien avant moi en 2007 dans son billet Obtenir des liens des sites edu et gov.
Seulement, il faut savoir que vous avez accompli le plus dur, et qu’il y a surement encore d’autres pépites juste là, sous vos yeux !!!

Les .edu, .gov et compagnie qui les hebergent ?

Et oui, c’est une question qu’y m’est venue à l’esprit lorsqu’un pote m’a demandé si je connaissais un service permettant de lister les domaines présents sur une meme IP. Je pense que maintenant vous voyez surement ou je veux en venir.
En effet, il y a fort à parier que les .edu et .gov ne vont pas être hébergé sur un serveur mutualisé !! (Je ne fais pas de généralité, bien sur qu’il doit y en avoir sur des mutus, mais OSEF).

Donc si vous venez de découvrir un super plan avec des comments en auto-approve, il se peut qu’il y ai encore quelques pistes à suivre.

On va donc procéder simplement, mais surement :

  1. Récupérer votre liste d’urls en OR (celle avec vos .edu, .gov, … ou vous avez déjà posé votre blase)
  2. Si vous avez un scraper d’url homemade, rajouter une petite fonction pour checker si on a d’autres domaines dispos (fonction dispo juste apres)
  3. Récupérer cette nouvelle liste d’url
  4. Intégrez ces nouvelles urls dans votre footprint préféré

Voici à quoi pourrait ressembler la fonction (utilise curl et simple_html_dom):

<?php
/**
 * Sort la liste des domaines presents sur la meme adresse IP
 *
 * J'utilise le site spyonweb.com pour recuperer les urls,
 * car fonction interessante de ce site, il capte egalement les comptes qui utilisent
 * le meme compte google analytics
 *
 *
 *  Script POC pondu par RDD sur http://www.renardudezert.com
 */
 
 
 
 
// Je ne vous presente pas la classe simple_html_dom j'espere
// Sinon RDV ici : http://simplehtmldom.sourceforge.net/manual.htm
include './simple_html_dom.php';
 
// Ces 2 urls sont uniquement ici a titre d'exemple, il n'y a rien dessus
// Je charge une liste d'urls dans un array, a vous d'adapter le script pour qu'il
// fasse le necessaire (charger un fichier csv, ...)
$urls_list	= array('www.cityofseattle.net', 'blogs.psu.edu');
 
 
 
 
/**
 * Push That Shit Function
 *
 * Cette fonction utilise la classe simple_html_dom afin de recuperer toutes les urls
 * qui nous interessent
 *
 * @param array $url
 * @param boolean $plaintext
 * @return array
 */
 
function push_that_shit($url, $plaintext=true)
{
	// CURL is your friend
	if (function_exists('curl_init'))
	{
		$res = $output = array();
 
		$url	= 'http://spyonweb.com/'.$url;
		$userAgent='Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)';
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL,$url);
		curl_setopt($ch, CURLOPT_USERAGENT, $userAgent);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
		$results=curl_exec($ch);
		curl_close ($ch);
 
		$html = str_get_html($results);
 
		// Sur le site spyonweb, les liens qui nous interessent ont la classe "new"
		$res = $html->find('a[class=new]');
 
		// Traitement supplementaire si on souhaite obtenir
		// Uniquement les liens en plaintext
		if ($plaintext==true)
		foreach ($res as $url_f)
		$res_p[] = $url_f->plaintext;
 
		$output	= ($plaintext==true) ? $res_p : $res;
 
		// On retourne un tableau dedoublonne bien sur
		return(array_unique($output));
	}
}
 
 
/**
 * La fonction principale
 *
 * J'aurais pu mettre la fonction precedente a l'interieur de celle-ci
 * Mais j'aime bien le code lisible !!!
 *
 * @param array $urls_list
 */
 
function	get_domains_on_same_ip($urls_list)
{
	$new_urls	= array();
 
	foreach ($urls_list as $url)
		$new_urls[] = push_that_shit($url);
 
	// Ici on affiche tous les resultats
	// C'est donc ici que vous allez ajouter votre propre traitement
	foreach ($new_urls as $urls)
	{
		foreach ($urls as $url)
			echo $url."<br/>";
	}
 
 
}
 
get_domains_on_same_ip($urls_list);
 
?>

Pour tester le script en action c’est ici : get_all_domains_on_same_ip.zip

On peut en faire autre chose de ce truc ?

Et bien oui mon cher monsieur !! On peut pousser la démarche un peu plus loin, sinon ce paragraphe ne servirait à rien.
Récemment j’ai decouvert une pépite totalement par hasard. Je suis tombé sur un panel d’admin (backoffice pour les intimes) totalement ouvert sur un site. Oui vous avez bien entendu, ouvert : pas de login pas de password, hop direct dans le backoffice du site. Grace au footer (Ha les fameux copyright des agences web), je me rends compte que le site a été réalisé par une agence. Je me dis donc « Tiens, tiens, une agence … avec un peu de chance TOUS leurs sites seront hébergés sur un dédié ».
Et bien BINGO, grâce au site que j’utilise dans la fonction ci-dessus (spyonweb.com pour ceux qui ne lisent pas le PHP) , je tombe sur une trentaine de sites hébergés sur la même IP.
En testant les 10 premiers, 3 possèdent un accès ouvert …

Ce n’est certes pas une révélation, je me doute que ça a déjà été exploité par certains d’entre vous, mais pour les autres c’est toujours utile !!
D’après mes premiers tests, peu d’opportunités sur des plans déjà exploités ont été découvertes. Mais lorsque vous voyez apparaitre une liste de 20 sous-domaines basés sur le meme CMS, ca remonte le moral ;).
P.S. : Pour tous les « wou spa bien, c’est du hacking », JE N’AI PAS (encore) exploité cette occasion.
P.S. 2 : Je ne filerai pas le nom de l’agence en question ni l’IP du serveur, inutile de le demander.

Credits :Icon by Alexandre Moore

30 Réponses to “L’opportunité souvent négligée”

  1. Le Juge SEO dit :

    Tiens mais c’est qu’il est malin comme un renard! et vicieux comme un fennec!

  2. J’adore, je kiffe, j’aime, c’est pour des « idées » comme ça que la veille vaut la peine d’être vécue (parce qu’il faut avouer que certains seo tournent en rond sur leurs blogs…) !

    Sinon je rejoins assez Le Juge dans son commentaire…

  3. Etudiant dit :

    Je ne dirais qu’une chose : « wou spa bien, c’est du hacking »

  4. Merci pour le script, je vais en faire bon usage.
    Bien joué pour l’accès au backoffice. ;)

  5. LaurentB dit :

    Y a quand même un problème légal. Le piratage (intrusion dans l’admin d’un site) est passible du Pénal = prison + forte amende.

  6. Zizounnette dit :

    j’aime ça.

    j’avoue faire pareil, de tps en tps une ptite recherche de vuln’ sur le CMS ne fait pas de mal :p

  7. Digg like dit :

    Bien vu !!! Tu es sûr que tu veux rien lâcher ? :D

  8. RDD dit :

    @Le Juge :
    Exactement ca !! d’ou ce formidable pseudo et ndd ;)

    @Mickael :
    Merci, ça fait plaisir !! Je te rejoins également sur « l’infinite loop » de certains blogs SEO (attention on ne s’enflamme pas, j’ai bien dis certains).

    @Etudiant et @laurent :
    En fait oui … et non. Ce n’est pas du hacking puisque je n’ai rien exploité du tout pour avoir accès à l’admin (qui en plus est dans l’index de Google !!!!). Je pourrai parler de hacking et de problème légal SI j’avais détourné quoique ce soit pour avoir accès à cette administration, or ce n’est pas du tout le cas !!!
    Pour rappel, Hacking : « tentatives non autorisées afin de contourner les mécanismes de sécurité d’un système d’information ou de réseau ». Dans mon cas :
    recherche Google, clic sur un résultat et accès au backoffice => cqfd rien d’illégal en soi.
    Et je précise bien dans l’article que je n’ai absolument RIEN fait sur ces backoffices.
    Ça remet surtout en question la naïveté de certains clients de pouvoir accéder à un panel d’admin sans login ni mdp non ? Quand il veut accéder à ses différents comptes (banque, mail, téléphonie, …) sur le web, on lui demande bien TOUJOURS un couple login/password ? Alors pourquoi peut on encore trouver cela sur la toile (les sites sont de 2008 je précise, donc assez récents) sans que le client ne se méfie ?

    @Aurelien :
    Merci mister !!

    @Zizounnette :
    Chut pas trop fort, ;) Après une recherche de vulnérabilité sur un cms afin de proposer un patch à la communauté, ça n’a absolument rien d’illégal ;)

    @Digg like :
    Oui oui, c’est bien sur, je ne lâcherai rien ;)

  9. LaurentB dit :

    Je n’ai pas parlé de hacking, mais de piratage.
    A partir du moment où tu modifies quelque chose, c’est qualifié comme une intrusion non autorisée => Pénal !
    Ce n’est pas parce que j’ai la fenêtre de ma maison ouverte que tu peux rentrer.
    http://www.commentcamarche.net/faq/307-devenir-pirate-informatique

  10. RDD dit :

    @Laurent :
    Nous sommes d’accord => je n’ai rien modifié.
    A part un malheureux GET dans les logs et Google en Referrer, je n’ai absolument rien à me reprocher.

    Pour comparer avec ton image de fenêtre ouverte, je dirais plus que j’ai regardé par la fenêtre (donc je ne suis pas entré), ce qui amha fait la différence.

  11. LaurentB dit :

    C’est vrai tu as raison. S’il n’y a pas modification, pas de prison :D

  12. Zizounnette dit :

    j’suis pas contre un on gros 0day @spip @wp @dotclear par contre !

  13. Alors sa, sa doit quand même foutre les boules. Avoir a porter de main la possibilité de se faire plein de BL en quelques instant mais ne pas pouvoir en profiter.

    Peut être que contacter l’agence en leur expliquant leur probleme de sécurité et leur demander un petit BL en échange pourrait le faire non ?

  14. Keeg dit :

    Perso, même si c’est tentant, je pense que je ne tenterais pas de passer par l’admin.

    Enfin, j’ai déjà fait mais c’était pour seotons, ça ne compte pas :P

  15. Hotel Djerba dit :

    Tentant mais un peu border line

  16. J’aime les fenetres ouvertes. Merci pour le script et pour le partage.

  17. Maximilien dit :

    Passer par une interface d’admin en libre accès, disons que ce n’est pas si méchant que ça… même modifier quelque chose je ne crois pas que cela puisse être puni vu que l’espace n’a pas été protégé !

  18. En effet ils y en a qui sont malins… :) Mais bon rentrer dans une zone d’administration… Légèrement du hacking pas légal…

    En tout cas bien joué pour le script.

  19. Jeremy dit :

    Hummm, encore un article qui va me donner des idées de honeypot :D

    C’est un peu comme chercher des fichiers d’export FTP hein, c’est rigolo mais tu passe vite la limite…

  20. Sommeil dit :

    C’est du limite. Le probleme avec le SEO est que si tu y passes trop de temps tu ne vois plus les limites blanc/noir

    Si je resume l’approche ici: tu trouves des failles dans les serveurs gov et tu y caches tes links… C’est un coup a se faire blacklister a la JCPenney

    John

  21. RDD dit :

    @colonies de vacances :
    Oui c’est frustrant mais :
    1 – J’ai une femme et des enfants
    2 – J’ai un job
    3 – Une maison a payer

    Donc non, je ne joue pas/plus au con. Il s’avère que l’agence en question était l’ancienne agence d’un nouveau client, elle a donc été informée de ce trou béant ;)

    @Keeg :
    Pour moi tout ce qui est tentant est louche, donc … Et comme je le dis dans l’article, c’est une découverte qui n’a pas été exploitée !!

    @Hotel Djerba :
    Exactement.

    @communique de presse :
    De rien !

    @Jeremy :
    Pour les exports FTP c’est pas faux. Pour le honeypot, c’est a la base une technique de hacker WH, le problème c’est qu’aujourd’hui le honeypot est détourné de son utilité primaire.

    @Sommeil :
    Je ne pense pas que le facteur temps soit un facteur blanc/noir. Bien au contraire. Le SEO, quelque soit sa couleur demande du temps. Demande aux dev de LFE ou Xrumer si ils ont pondu leur tool en 1 semaine ;)

    En fait, non ce n’est pas l’approche de l’article. Il n’y a pas besoin d’exploiter des failles pour poser des BL sur des sites a forte autorité (heureusement d’ailleurs). Je dis juste qu’une fois un plan trouver (poser un BL dofollow en autoapprove par ex), il se peut qu’il y en ai d’autres sur le même host. C’est tout.

    @tous :
    C’est rigolo que tout le monde ne retienne que l’accès ouvert a l’admin, ce qui n’est pas le sujet principal de l’article.
    Mea Culpa !!

  22. page jaune dit :

    Et bien c’est vrai que c’est bien pensé :) Mais j’ai toujours cru que Google dévaluait un lien lorsque l’on avait déjà un lien retour provenant de la même IP. Alors, dans le cas ou l’on a 20 blogs hébergés sur la même IP, est ce que celà vaut vraiment le coup de poster sur les 20 blogs?

  23. Erwan dit :

    Même sans parler de méthode BH, hacking, … il y a pas mal de bons plans à découvrir et je pense qu’on néglige pas mal de choses lorsqu’on fait un commentaire sur blog par exemple ou rédige un CP.

  24. Oui mais pour le quidam non développeur et non tech – On fait comment pour attraper des .edu et .gov ? ;-) Si quelqu’un est prêt à partager ses liens en or je suis preneur;-) (c’est beau de rêver)

  25. Comme toujours, clair et bien conçu !
    Maintenant, je me pose toujours la question si des sites .edu dans une autre thématique peuvent aider un ‘tit .fr …?

  26. euroleague basket dit :

    Je rejoins liquidation sarl, il y a des techniques géniales qui font rêver mais faut être très calé techniquement :(

  27. Merci pour le script. Voila une bonne idée pour prendre des bons liens :)

  28. Chemise Homme dit :

    Tentant en effet mais quand on est déjà bien placé dans les SERPs la prise de risque peut couter plus chère que l’avantage qu’on peut en tirer. Comme dit mon expert comptable, la question n’est pas de savoir si c’est légal ou pas mais plutôt de savoir ce qu’on risque et est-ce qu’on est prêt à prendre ce risque.

  29. Sympa comme astuce, mais quel est le risque de la tester ?

  30. Zizounnette dit :

    introduction dans un STAD (systeme de traitement automatique de donnée)

    jcrois que c’est 3 ans de vacances et quelques euros :)

Laisser une réponse

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Je suis un gros footer de merde !! - Powered by le Presse mot