begin process at 2008 07 20 22:38:40
1 213 476 membres
381 nouveaux aujourd'hui
14 167 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

DEMANDE D'AUTHENTIFICATION PAR SOCKET HTTP (.HTACCESS)


Information sur la source

Catégorie :Réseau & Internet Niveau : Initié Date de création : 31/12/2004 Date de mise à jour : 01/01/2005 15:37:10 Vu : 7 986

Note :
8,8 / 10 - par 5 personnes
8,80 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (24)
Ajouter un commentaire et/ou une note

Description

Ce script vous permet de récupérer les informations d'une page implantée derrière un .htaccess si biensûr vous possedez le login et password.

Source

  • <?php
  • $fp = fsockopen("www.example.com", 80, $errno, $errstr, 30); // Connexion (Host + Port)
  • if (!$fp) {
  • echo "$errstr ($errno)<br />\n";
  • } else {
  • $data = "";
  • $base64 = base64_encode("login:password"); // Login et mot de passe encodé en base64 qu'utilise l'authentification.
  • fputs($fp, "PUT http://www.example.com/index.html HTTP/1.0\r\n\r\nAuthorization: Basic ".$base64."\r\n\r\n"); // La socket modifiable
  • while (!feof($fp)) {
  • $data .= fgets($fp, 128); // Récupération des infos
  • }
  • echo $data; // On affiche la page
  • fclose($fp);
  • }
  • ?>
<?php
$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30); // Connexion (Host + Port)
if (!$fp) {
	echo "$errstr ($errno)<br />\n";
} else {
	$data = "";
	$base64 = base64_encode("login:password"); // Login et mot de passe encodé en base64 qu'utilise l'authentification.
	fputs($fp, "PUT http://www.example.com/index.html HTTP/1.0\r\n\r\nAuthorization: Basic ".$base64."\r\n\r\n"); // La socket modifiable
	while (!feof($fp)) {
		$data .= fgets($fp, 128); // Récupération des infos
	}
	echo $data; // On affiche la page
	fclose($fp);
}
?>

Conclusion

C'est mon premier poste, si vous avez des questions j'y répondrai...
31 décembre 2004 19:43:52 :
01 janvier 2005 15:37:10 :
  • signaler à un administrateur
    Commentaire de Anthomicro le 31/12/2004 12:43:05

    Salut,

    C'est pas vrai y'en a marre de répéter toujours les mêmes choses...

    <? est à remplacer par <?php

    bon en gros remplace ton code par ça :

    <?php
    $fp = fsockopen('www.example.com', 80, $errno, $errstr, 30); // Connexion (Host + Port)

    if (!$fp)
    {
        echo $errstr,'(',$errno,')<br />';
    }
    else
    {
        $data='';
        $base64 =base64_encode('login:password'); // Login et mot de passe crypté en base64

        fputs($fp,"PUT http://www.example.com/index.html HTTP/1.0\r\n\r\nAuthorization: Basic ".$base64."\r\n\r\n"); // Le socket modifiable

        while (!feof($fp))
        {
            $data .= fgets($fp, 128); // Récupération des infos
        }
        echo $data; // On affiche la page
        fclose($fp);
    }
    ?>

    bon manque ensuite une gestion d'erreurs, mais bon c'est noël mais faut pas pousser non plus ^^

  • signaler à un administrateur
    Commentaire de Anthomicro le 31/12/2004 12:43:58

    je t'ai mis 7/10

    t'aurais eu 9 avec un code meilleur ^^ (lol)

    a ++

  • signaler à un administrateur
    Commentaire de Kelwee le 31/12/2004 19:46:00

    Un code meilleur ? J'ai pris la base sur php.net alors bon si il faut changer quelque chose c'est le site php.net ;)
    Mais toute remarque est constructible, si tu veux réecrire le code je t'en prit

  • signaler à un administrateur
    Commentaire de Anthomicro le 31/12/2004 20:28:28

    Bah c'est ce que j'ai fait ^^

  • signaler à un administrateur
    Commentaire de coucou747 le 31/12/2004 21:29:23

    mais pour accèder à une page, c'est GET et non put ???

    Sinon, l'accès HTTP c'est :
    GET $page HTTP1.1\r\nhost: $serveur\r\n\r\n

    $serveur sera par exemple : www.wanadoo.fr
    et $page /

    Enfin c'est ce que j'ai vu sur http://www.salemioche.com/

  • signaler à un administrateur
    Commentaire de Anthomicro le 31/12/2004 21:58:05

    Ouais, j'ai pas corrigé ça en effet, je me concentre sur le PHP, si en plus le code marche pas, ça prouve qu'il a été pompé quelque part (vu que l'auteur ne l'a pas testé dans ce cas)

  • signaler à un administrateur
    Commentaire de Anthomicro le 31/12/2004 21:58:53

    mais je pense que c'est bon le PUT ;-)

    vu que le script fait appel au serveur et lui passe le mot de passe, d'ailleurs on le voit dans le code, donc non PUT ça devrait être bon ;-)

  • signaler à un administrateur
    Commentaire de coucou747 le 31/12/2004 22:10:16

    je n'ai pas dit que ce code ne fonctionait pas, seulement j'essai de récupérer une page sans mot de passe, et lorsqu'une page à un cookie, ça me pose quelques problèmes, donc, je cherche de la doc...

    Pour récupérer une page, c'est GET... ça c'est sur...

  • signaler à un administrateur
    Commentaire de Anthomicro le 31/12/2004 22:36:55

    Ouais ;-)

  • signaler à un administrateur
    Commentaire de coucou747 le 31/12/2004 23:08:37

    j'ai pas testé le code si tu veux savoir car je ne me suis jamais penché sur la façon de faire un htacces... Donc, je n'en ai pas sur mon site... et pour les sites protégés, je ne connais pas les URL ni les mots de passes...

  • signaler à un administrateur
    Commentaire de Kirua le 01/01/2005 13:43:52

    "$base64 = base64_encode("login:password"); // Login et mot de passe crypté en base64 qu'utilise l'authentification"

    c'est pas crypté, c'est encodé, ça n'a rien à voir. juste une petite précision qui a son importance.

  • signaler à un administrateur
    Commentaire de Kelwee le 01/01/2005 15:35:58

    Merci Kirua :)
    Le script fonctionne avec PUT si c'est un .htaccess, mais il existe biensûr d'autres méthodes selon le choix, GET ne fonctionne pas avec les .htaccess.
    Pour récupérer une page sans mot de passe, un GET suffira largement.

    Voilà et bonne année

  • signaler à un administrateur
    Commentaire de McPeter le 03/01/2005 01:43:24

    [quote]C'est pas vrai y'en a marre de répéter toujours les mêmes choses...

    <? est à remplacer par <?php [/quote]

    a !?

    donc tu diras au créateur de PHP de refaire leur code ^^
    C'est du même aquabit que les gens qui gueule quand on écrit <?=$var?> au lieu de <?php echo $var; ?>

    et le fait qui utilise des double quote au lieu de simple n'est aps non plus la fin du monde ..
    sinon je vois pas ce que tu as modifié dans son code ?
    ça valait la peine de tout reécrire ?

  • signaler à un administrateur
    Commentaire de coucou747 le 03/01/2005 19:14:39

    les optimisations sont très importantes, si tu regarde des pages ou tu balance des apels de fonctions récursives, tu verras vite pourquoi...

  • signaler à un administrateur
    Commentaire de JulioDelphi le 13/01/2005 19:19:56 administrateur CS

    reprenons le cours "normal" de la conversation comme au 03/01/2005 à 19:14:39 ... merci ;)

  • signaler à un administrateur
    Commentaire de Anthomicro le 13/01/2005 19:55:23

    Ah thanks ;-)

  • signaler à un administrateur
    Commentaire de pyair le 13/01/2005 22:32:16

    est-ce que les fichiers sont vraiment protégés avec le htacces?

  • signaler à un administrateur
    Commentaire de Kirua le 13/01/2005 23:01:17

    ben si tu configures bien tes htaccess et que tu mets bien ton htpassw dans un répertoir à part avec un htaccess deny from all, alors oui, c'est quasi inviolable. les failles viendront d'une mauvaise utilisation / configuration / manque de discrétion (attention au social engineering, càd des personnes qui d'une manière ou d'une autre arrivent à te faire dire le mot de passe avec le sourire)

  • signaler à un administrateur
    Commentaire de janhsh le 07/05/2005 01:46:53

    Pourquoi coder le user et loging en base 64
    alors que l'on peut directement écrire l' URI sous la forme

    http://User:Password@www.example.com/index.html


  • signaler à un administrateur
    Commentaire de kankrelune le 18/12/2005 21:07:33

    @ Kirua... l'authentification par htaccess est loin d'être inviolable puisque les données d'authentification sont passées en clair entre le client et le serveur... il est tout à fait possible de les intercepter avec un snifer... cependant je te le concède cela reste un moyen de protection assez sécurisé d'une manière générale... .. .

    @ tchaOo°

  • signaler à un administrateur
    Commentaire de coucou747 le 18/12/2005 22:12:06

    à moin que je ne me trompes, il faut du ssl ou un équivalent pour faire mieux...

  • signaler à un administrateur
    Commentaire de Kirua le 19/12/2005 00:50:03

    C'est bien vrai, mais en attendant, t'as plus de chance de te faire avoir parce que t'as mal configuré ton serveur, disposé tes htaccess et htpassw etc que parce que qq un a pu te sniffer. Et puis pour sniffer, faut déjà être sur la connexion, c'est pas forcément évident.

    Mais clairement, c'est juste un bon moyen de se protéger suffisament à peu de frais. Ca sera tjs mieux qu'une protec' java ou javascript ;)

  • signaler à un administrateur
    Commentaire de kankrelune le 19/12/2005 02:00:42

    "Ca sera tjs mieux qu'une protec' java ou javascript"

    Muuuoohahahaha... c'est clair... .. . ;o)

    Non dans le fond je pense que l'on est d'accord je voulais juste rebondir sur la forme (je sais je suis un chieur) et notament le "inviolable"... .. . ;o)

    @ tchaOo°

  • signaler à un administrateur
    Commentaire de Kirua le 19/12/2005 07:41:54

    Hmmm, t'as bien raison, je me serais descendu personnellemet ;)

Ajouter un commentaire

Pub



Appels d'offres

Dessins techniques
Budget : 60€
Animation Flash - Doma...
Budget : 370€
Application flash medi...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Boutique

Boutique de goodies CodeS-SourceS