S'enregistrer | Rechercher | FAQ | Liste des Membres | Groupes d'utilisateurs | Connexion

  Nom d'utilisateur:    Mot de passe:       

  

Poster un nouveau sujet   Répondre au sujet Page 1 sur 1
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
MessagePosté le: Ven Nov 15, 2013 8:39 pm    Sujet du message: reCAPTCHA / PHP / CURL Répondre en citant

KASSBONBEK
Projets


 
Inscrit le: 15 Nov 2013
Messages: 9



Bonjour,

après avoir déjà posté sur un autre forum sans aucun succès, je me permet de reposter sur celui-ci en espérant avoir plus de chance cette fois-ci.

Voila quelque temps que je bloque. Le but de mon script est simple, je voudrais automatiser une inscription sur un site. Seulement le CAPTCHA m'en fait voir de toute les couleur. J'aimerais juste l'afficher à l'utilisateur pour que celui-ci le remplisse.

Le but du début du script est donc d'afficher sur ma page web, la page du site web distant.
J'utilise donc cURL.

Le seul problème est qu'a la place du CAPTCHA, j'ai ceci qui apparait:
Input error: Invalid referer

J'ai essayé pendant des heures... J'avoue que je ne comprends pas comment google fait pour me différencier d'un utilisateur normal.

Voici une des version du script que j'ai faite:

Code:
<?php
error_reporting(E_ALL);

$lien = 'http://www.*****.com';
$cookiefile = 'cookie.txt';
fopen($cookiefile,'w');
$ch = curl_init ($lien);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookiefile);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_REFERER, $lien);
$output = curl_exec ($ch);
echo $output;


?>



Avez-vous une idée pour contourner ce problème ?

Merci d'avance pour vos réponses.
Voir le profil de l'utilisateur Envoyer un message privés
MessagePosté le: Sam Nov 16, 2013 2:07 pm    Sujet du message: Répondre en citant

TorTukiTu
Site Admin


 
Inscrit le: 07 Fév 2008
Messages: 1960
Localisation: Devant son pc durant la redaction de ce message



Le message est clair : Input error: Invalid referer

Le referer est un paramètre d'en tête transmis via les trames HTTP qui contient la page précédement visité par l'utilisateur.
Il faut donc que tu envoies le referer attendu par Google. A mon avis, tu as probablement un token ou un truc du genrs qui est passé via le referer.

Essaye de faire un test manuellement en t'inscrivant sur le site et en nous postant ici le referer que Google a utilisé ou en privé l'URL complète du site que je jette un oeuil si tu veux.

Tortue
Voir le profil de l'utilisateur Envoyer un message privés Visiter le site web de l'utilisateur Compte AIM MSN Messenger Numéro ICQ
MessagePosté le: Dim Nov 17, 2013 2:55 pm    Sujet du message: Répondre en citant

KASSBONBEK
Projets


 
Inscrit le: 15 Nov 2013
Messages: 9



OK.

Je ne comprends pas comment voir le referer utilisé par google quand je m'inscris manuellement.
Peux tu m'expliquer ?
Voir le profil de l'utilisateur Envoyer un message privés
MessagePosté le: Dim Nov 17, 2013 4:25 pm    Sujet du message: Répondre en citant

TorTukiTu
Site Admin


 
Inscrit le: 07 Fév 2008
Messages: 1960
Localisation: Devant son pc durant la redaction de ce message



Citation:
Je ne comprends pas comment voir le referer utilisé par google quand je m'inscris manuellement.


Le referer est probablement utilisé par google pour savoir si tu as bien effectué un pacours normal avant d'arriver à la page d'inscription, et que tu n'essayes justement pas de truander.

Tu as plusieurs facon de voir ca. La plus simple étant de regarder l'url qui s'affiche dans la barre de ton navigateur en fesant attention aux redirections qui pourraient passer inapercu juste avant la page en question.

Tu as des plugins firefox qui te permettent de voir le contenu des en-têtes HTTP.

Dans le pire des cas, dump ton traffic HTTP avec un sniffer (Wireshark, tcpdump ou autre).

Tortue 974.

PS:
Citation:
qui contient la page précédement visité par l'utilisateur

Je parlais de l'url de la page et non de la page elle-même bien ententu.
Voir le profil de l'utilisateur Envoyer un message privés Visiter le site web de l'utilisateur Compte AIM MSN Messenger Numéro ICQ
MessagePosté le: Dim Nov 17, 2013 5:38 pm    Sujet du message: Répondre en citant

KASSBONBEK
Projets


 
Inscrit le: 15 Nov 2013
Messages: 9



J'ai un plugin chrome: http headers.

Il me balance ça :

Code:
Name   Value
Date   Sun, 17 Nov 2013 16:34:09 GMT
Content-Encoding   gzip
Server   nginx
X-Frame-Options   SAMEORIGIN
T411-node   rm3
Vary   Accept-Encoding
Content-Type   text/html; charset=windows-1252
Transfer-Encoding   chunked


Je vois rien concernant le referrer....
Voir le profil de l'utilisateur Envoyer un message privés
MessagePosté le: Dim Nov 17, 2013 9:06 pm    Sujet du message: Répondre en citant

TorTukiTu
Site Admin


 
Inscrit le: 07 Fév 2008
Messages: 1960
Localisation: Devant son pc durant la redaction de ce message



Mmm, essaye d'utiliser le service https du serveur si tu le peux. Normalement, le referer n'est pas envoyé en utilisant https.

Accessoirement, fais un tour sur www .whatismyreferer. com pour tester ton addon et vérifier que tu vois bien le referer.

Tortue 974.
Voir le profil de l'utilisateur Envoyer un message privés Visiter le site web de l'utilisateur Compte AIM MSN Messenger Numéro ICQ
MessagePosté le: Dim Nov 17, 2013 9:46 pm    Sujet du message: Répondre en citant

KASSBONBEK
Projets


 
Inscrit le: 15 Nov 2013
Messages: 9



No referer / Hidden
Voir le profil de l'utilisateur Envoyer un message privés
MessagePosté le: Lun Nov 18, 2013 8:12 am    Sujet du message: Répondre en citant

TorTukiTu
Site Admin


 
Inscrit le: 07 Fév 2008
Messages: 1960
Localisation: Devant son pc durant la redaction de ce message



La première fois tu auras no referer. Essaye de rafraichir la page en cliquant sur le lien en bas.
Tu as essayé d'utiliser https dans ton script ?

tortue 974.
Voir le profil de l'utilisateur Envoyer un message privés Visiter le site web de l'utilisateur Compte AIM MSN Messenger Numéro ICQ
MessagePosté le: Lun Nov 18, 2013 7:28 pm    Sujet du message: Répondre en citant

KASSBONBEK
Projets


 
Inscrit le: 15 Nov 2013
Messages: 9



alors:

effectivement quand je clique sur le lien sur whatsmyreferer, j'ai bien le bon referrer qui s'affiche.

Ensuite, j'ai essayé ça:

Code:
error_reporting(E_ALL);

$lien = 'https://www.blablabla.com';
$cookiefile = 'cookie.txt';
fopen($cookiefile,'w');
$ch = curl_init ($lien);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookiefile);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_REFERER, 'https://www.google.fr/search?q=lesite');
$output = curl_exec ($ch);
echo $output;



Même résultat. Peut être n'ai je pas bien compris ce que tu m'as dis ?

Je t'envois par MP le site que je suis entrain de tester.


Dernière édition par KASSBONBEK le Lun Nov 18, 2013 7:45 pm; édité 1 fois
Voir le profil de l'utilisateur Envoyer un message privés
MessagePosté le: Lun Nov 18, 2013 7:45 pm    Sujet du message: Répondre en citant

KASSBONBEK
Projets


 
Inscrit le: 15 Nov 2013
Messages: 9



En tout cas quand je check sur chrome les headers envoyés :

Code:
GET /test.php HTTP/1.1
Host: ***
Connection: keep-alive
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en,fr-FR;q=0.8,fr;q=0.6,en-US;q=0.4
Cookie: __utma=182650040.610580476.1382223246.1384711715.1384799184.20; __utmb=182650040.5.10.1384799184; __utmc=182650040; __utmz=182650040.1382223246.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); clusterBAK=R1564862758; OVHCDN=R2163938180; cluster=R1649270232


le referer n'est pas envoyé.....
Voir le profil de l'utilisateur Envoyer un message privés
MessagePosté le: Lun Nov 18, 2013 8:31 pm    Sujet du message: Répondre en citant

TorTukiTu
Site Admin


 
Inscrit le: 07 Fév 2008
Messages: 1960
Localisation: Devant son pc durant la redaction de ce message



Citation:
Même résultat. Peut être n'ai je pas bien compris ce que tu m'as dis ?


Si, tu as bien compris. Bizzare bizzare... je vais regarder ca de plus près quand j'aurai un moment.

Tortue 974.
Voir le profil de l'utilisateur Envoyer un message privés Visiter le site web de l'utilisateur Compte AIM MSN Messenger Numéro ICQ
MessagePosté le: Lun Nov 18, 2013 9:22 pm    Sujet du message: Répondre en citant

KASSBONBEK
Projets


 
Inscrit le: 15 Nov 2013
Messages: 9



Ok ça marche ! Tiens moi au jus, je continus à chercher en attendant...

merci en tout cas
Voir le profil de l'utilisateur Envoyer un message privés
MessagePosté le: Lun Nov 18, 2013 9:49 pm    Sujet du message: Répondre en citant

KASSBONBEK
Projets


 
Inscrit le: 15 Nov 2013
Messages: 9



Pour info, si je cURL http://www.whatismyreferer.com/, le cURL est bien modifié par l'option CURLOPT_REFERER.

Pourtant toujours la même erreur: INVALID REFERER....
Voir le profil de l'utilisateur Envoyer un message privés
MessagePosté le: Mar Nov 19, 2013 11:56 am    Sujet du message: Répondre en citant

SHEPSHEP
Projets


 
Inscrit le: 08 Avr 2009
Messages: 268
Localisation: /dev/null



Salut KASSBONBEK,
Salut Tortu,

Par défaut ReCAPTCHA est restreint à un domaine spécifique et ses sous domaines.

En spécifiant en REFERER le ND du site cible, ca ne marche pas ?

++
2ShEp

EDIT 0 : En relisant le premier post de Tortu j'ai titlé qu'il y avait bien un système de clé (token) en plus de la vérification du REFERER.

EDIT 1 :
Citation:
When I view the html source code for the page, I found the following
code:

<script type="text/javascript" src="http://api.recaptcha.net/challenge?
k=6LcB47oSAAAAACB4ldZjQraw1-OYI2tDbfF-bEoQ">

Clicking on the serc, I get the following output:

document.write('Input error: Invalid referer');
Voir le profil de l'utilisateur Envoyer un message privés Visiter le site web de l'utilisateur
MessagePosté le: Mar Nov 19, 2013 12:46 pm    Sujet du message: Répondre en citant

KASSBONBEK
Projets


 
Inscrit le: 15 Nov 2013
Messages: 9



OK.

Mais je ne comprends pas comment c'est possible. cURL simule bien une requête HTTP non ?

Qu'est ce qui va différencier une demande faite par le serveur et donc cURL d'une demande d'un client ?

Le but est que le serveur se comporte exactement comme un client a l'exception près ou celui-ci transmet à la volet le captcha à l'utilisateur

Il me semble que le logiciel jdownloader permet déjà d'afficher le captcha distant, et même pour google.

Peut être est-il possible de le faire avec une autre techno ?
Voir le profil de l'utilisateur Envoyer un message privés
Poster un nouveau sujet   Répondre au sujet Page 1 sur 1

  


 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum



58909 Attacks blocked