• STATISTIQUES
  • Il y a eu un total de 0 membres et 27584 visiteurs sur le site dans les dernières 24h pour un total de 27 584 personnes!
    Membres: 2 605
    Discussions: 3 579
    Messages: 32 816
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [FR] Zenk-Security
    La communauté zenk-security a pour objet principal la sécurité informatique, nous sommes des tou...
    Hacking
    [EN] Gekko
    Site de challenge présenter sous la forme d'une quête. Vous êtes un agent secret qui répond sous le nom...
    Challenges
    [FR] Root-me
    Script: 5, Système: 20, Cracking: 16, Cryptanalyse: 17, Programmation: 8, Réaliste: 11, Réseau: 10, Stéganog...
    Challenges
    [FR] WeChall
    Audio: 3, Coding: 11, Cracking: 9, Crypto: 18, Encoding: 11, Exploit: 44, Forensics: 1, Fun: 6, HTTP: 6, Image: 8, Java:...
    Challenges
    [FR] Comment ca marche
     Gratuit et accessible à tous, ce site de communauté permet de se dépanner, se faire aider ...
    Webmaster
    [EN] w3challs
    Ce site propose différents types de défis informatiques: piratage, craquage, cryptographie, stég...
    Hacking
    [FR] PHP Débutant
    Apprendre le PHP par l'exemple, facilement et simplement. Réservé d'abord aux débutants....
    Programmation

  • 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 : 4 (1 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Brute-force, Vulnérabilité des pages de connexions
17-10-2011, 00h09 (Modification du message : 16-10-2012, 20h38 par CyberSee.)
Message : #1
fr0g Hors ligne
NTEuNDI2MzcsLTEuNzc4NDg4
*****



Messages : 348
Sujets : 22
Points: 56
Inscription : Aug 2011
Brute-force, Vulnérabilité des pages de connexions
[SIZE="4"]Script Auto login with Urllib & Urllib2[/SIZE]



Dans cet article, je vais mettre en avant l'utilisation
des librairies urllib & urllib2 en Python, afin d'automatiser les tentatives de connexion à une page web non sécurisée.

Dans quel but ? et bien comme vous vous en doutez, s'il est possible d'automatiser des connexions,
il est possible de tester plusieurs mots de passe en boucle, l'usurpation d'identité devient alors facile à mettre en pratique sur un site mal sécurisé, cet article à donc pour intérêt de donner un aperçu des risques encourus par un web-master ne limitant pas le nombre de connexion à son site .


Dans cet exemple, je vais utiliser la page de démonstration d'un formulaire de connexion en php sur le siteduzero.

http://www.siteduzero.com/uploads/fr/ftp...ulaire.php



On récupère le code source de la page :

Code PHP :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <
head>
        <
title>Page protégée par mot de passe</title>
        <
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    </
head>
    <
body>
        <
p>Veuillez entrer le mot de passe pour obtenir les codes d'accès au serveur central de la NASA :</p>
        <form action="secret.php" method="post">

            <p>
            <input type="password" name="mot_de_passe" />
            <input type="submit" value="Valider" />
            </p>
        </form>
        <p>Cette page est réservée au personnel de la NASA. Si vous ne travaillez pas à la NASA, inutile d'
insister vous ne trouverez jamais le mot de passe ! ;-)</p>
    </
body>
</
html


Comme on le voit, le formulaire envoie les informations à la page => http://www.siteduzero.com/uploads/fr/ftp...ulaire.php

Citation :<form action="secret.php" method="post">

On va également noter les noms des informations qui vont transiter entre les pages:

Citation :<input type="password" name="mot_de_passe" />


Le nom de la valeur contenant la saisie de l'utilisateur est mot_de_passe.

Dans le code source en php sur le SDZ, ils nous expliquent que le mot de passe est "kangourou" (vous pouvez essayer)


Alors, passons à la partie programmation:


Code PHP :
# -*- coding: iso-8859-1 -*-
#    Author        :    fr0g
#    Mail :         :    fr0g.security@gmail.com

import urllib
import urllib2



the_url 
'http://www.siteduzero.com/uploads/fr/ftp/mateo21/php/page_mdp/secret.php'   # Declaration de l'url sur laquelle travailler.
values = {'mot_de_passe' 'kangourou'# Declaration du nom de la valeur et de son contenu

data urllib.urlencode(values)   # Encodage des valeurs
req urllib2.Request(the_urldata# Creation de la requete
handle urllib2.urlopen(req)
the_page handle.read()    # lecture de la page a laquelle on nous redirige après la connexion

fichier open("fichier.html""w"# Ouvre le fichier.
fichier.write(the_page# Ecris le contenu de la page a laquelle nous avons eut acces.
fichier.close() # Fermeture du fichier


# le fichier "fichier.html" dans le meme repertoire que le script python, contient le contenu de la page à laquel nous avons eut acces 
# grace à ce script. 

une fois ce script exécuté, si le mot de passe est bon, le programme enregistre le contenu de la page html privée dans le fichier "fichier.html"

Comme vous vous en doutez, un petit malin voulant par exemple usurper une identité, peut tout à fait utiliser une boucle
testant des identifiants différents sans arrêt, en remplaçant la valeur de mot_de_passe par une variable qui change à chaque tour de la boucle.


[COLOR="DeepSkyBlue"]
Conclusion, si vous possedez un site web, pensez à limiter le nombre de tentative de connexion par ip, cookie,
ou autres, afin d'éviter ce genre d'exploitations, ainsi que d'éventuelles tentatives de Denial Of Service,
ça ne vous rendra pas intouchable, mais ça écartera un GROS risque,
car une page web acceptant toutes les tentatives de connexions du genre,
ne mettra pas longtemps à se faire bypass.
[/COLOR]



Références :

http://www.voidspace.org.uk/
http://www.python.org
+1 (0) -1 (0) Répondre
18-10-2011, 19h26
Message : #2
Padboy Hors ligne
Bon membre
*



Messages : 745
Sujets : 19
Points: 5
Inscription : Oct 2005
Vulnérabilité des pages de connexions
Ton tutoriel est très bien fait, et c'est un très bon exemple de brute forcing.

Je voulais juste ajouter un point.

Il est bon d'expliquer pourquoi la limitation est au niveau de l'ip et non au niveau du username.

La pratique de la limitation de connexion par username est une pratique un peu paradoxale par rapport aux attaques DOS. En effet, en bloquant par exemple pendant m minutes tous les comptes pour lesquels un attaquant a essayé n fois de s'infiltrer, en pratique c'est justement un déni de service.

Ceci étant dit, mieux vaut bloquer l'adresse ip de l'attaquant pour éviter dans les deux cas, un DOS (je parle des cas mentionnés).
+1 (0) -1 (0) Répondre
21-10-2011, 11h01
Message : #3
itcef Hors ligne
Membre actif
*



Messages : 77
Sujets : 4
Points: 2
Inscription : Oct 2011
Vulnérabilité des pages de connexions
Merci pour ton tutoriel, on en trouve pas de ce genre partout Smile
Mieux vaut être faux que vrai.
+1 (0) -1 (0) Répondre


Atteindre :


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