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


  • ANNUAIRE
  • [FR] NewbieContest
    Nous vous proposons une série de challenges regroupant plusieurs domaines allant de l'exploitation de fail...
    Hacking
    [EN] Packet Storm
    Packet Storm est un site qui combine nouvelles de la sécurité informatique, téléchargemen...
    Vulnérabilités
    [FR] Zenk-Security
    La communauté zenk-security a pour objet principal la sécurité informatique, nous sommes des tou...
    Hacking
    [EN] Reddit
    Subreddit dédié à la sécurité informatique.
    Hacking
    [FR] WeChall
    Audio: 3, Coding: 11, Cracking: 9, Crypto: 18, Encoding: 11, Exploit: 44, Forensics: 1, Fun: 6, HTTP: 6, Image: 8, Java:...
    Challenges
    [EN] w3challs
    Ce site propose différents types de défis informatiques: piratage, craquage, cryptographie, stég...
    Hacking
    [FR] Secuser
    Actualité de la sécurité informatique, fiches virus et hoax, alertes par email, antivirus gratui...
    Hacking

  • 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
[PYTHON] UrlLib HttpScan
12-06-2013, 16h03 (Modification du message : 12-06-2013, 16h06 par Kiwazaru.)
Message : #8
Kiwazaru Hors ligne
Padawan d'un super escargot
*



Messages : 284
Sujets : 26
Points: 139
Inscription : Mar 2012
RE: [PYTHON] UrlLib HttpScan
Pour éviter toute mésentente Shirobi style, je vais préciser...

Gruik parle des réponses d'un serveur qui renvoi un code (comme 404 tout ça..) et là il parle des codes de redirection type 301 par exemple (Moved Permanently).
Ensuite pour l'histoire de connecter deux neurones, c'est juste le fait que:
https://www.google.fr/search?q=urllib+get+response+code :: Premier lien et tu faisais un code 4x plus propre , et qu'après dire: "
SuperSnail : oui je voulais faire ca , mais je n'ai pas trouvé un moyen simple pour faire ça , urllib possede t'elle des fonctions permettant de le faire ?" , ça le fait pas trop :/

Btw pense à utiliser les balises [ code = python ] [ / code ] pour avoir un résultat type:
Code PYTHON :

#!/usr/bin/python2.7 || #!/usr/bin/python3

import urllib, sys

def usage():
      # Usage
       print("Usage: {} <WordList> <Url>".format(sys.argv[0]))
       print("Usage: {} /etc/passwd  http://google.com/".format(sys.argv[0]))
       sys.exit("Usage !")

if len(sys.argv) <> 3:
    usage()

fp = open(sys.argv[1],"r") # On ouvre le fichier contenant les accès.
error_code = {"200": "Ok", "404": "Not found", "403": "Forbidden", "301": "Moved permanently"} # Dictionnaire des clés:valeurs : Clé == Error Code , Valeur == Type d'error

for line in fp:
    tmp = urllib.urlopen(sys.argv[2] + line) # On appelle urllib.urlopen avec le site + les accès à tester.
    # x == Print [+] url/accès : 200 Ok
    x = "[+] " + sys.argv[2] + line + " : " + str(tmp.getcode()) + " " + error_code[str(tmp.getcode())]
    print (x)

fp.close() # On ferme le fichier ouvert.
 

Code fonctionnel, testé Smile

J'ai pas fais avec un fichier (j'ai défini l'url et l'accès de base), mais l'output nous donne bien:
Code :
reverse@reverse ~/Bureau $ ./addr.py
[+] http://www.google.com/afk.php : 404 Not Found

Pour une liste plus complète d'error code: http://fr.wikipedia.org/wiki/Liste_des_codes_HTTP

Pour finaliser , j'ai fais un programme qui ne demande pas de faire un dictionnaire et qui récupère de façon dynamique le code d'erreur & le type d'erreur. Il se base sur la réponse du serveur à une requête GET ...
Par exemple:
Code :
Requête:

GET /index.php HTTP/1.1
...

Réponse:

HTTP/1.1 200 Ok
...

On va donc tout simplement se baser sur cette réponse et parser la première ligne pour avoir notre code d'erreur déjà formaté Smile

Le code:
Code PYTHON :

#!/usr/bin/python2.7
# -*- coding: utf-8 -*-

# Import
import socket, sys

def errorcode(response):
    return ''.join(response.split("\n")[0][9:]) # On retourne la réponse splitté avec \n , on prend l'indice 0 (1st line) et on vire le HTTP/1.1+espace [9:]
# Usage
if len(sys.argv) != 2:
    print ("Usage: {} <url>".format(sys.argv[0]))
    sys.exit("Usage !")

# Access
access = ["/admin.php", "/admins.php", "/afk.php", "/noob.php", "/imghp?hl=fr&tab=wi"]

# Socket declaration/connection
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
dst_ip = socket.getaddrinfo(sys.argv[1], 80, 0, 0)[0][4][0]
dst_port = 80
s.connect((dst_ip, dst_port))
print "[+] Connecté !"
# End Socket declaration/connection

# Bruteforce...
for x in access:
    request = "GET " + x + " HTTP/1.1\r\n" + "Host: " + sys.argv[1] + "\r\n" + "User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:21.0) Gecko/20100101 Firefox/21.0\r\n\r\n"
    s.send(request)
    print ("[+] {} : {}".format(x, errorcode(s.recv(512))))
    while s.recv(32000) == 1:
        """Clear the buffer"""

print "[+] End"
 


Pour la boucle à la fin, elle est là pour éviter de se prendre le buffer non utilisé dans la gueule au prochain appel de la fonction recv().
Output:
Code :
reverse@reverse ~/Bureau $ ./bfaccess.py www.google.com
[+] Connecté !
[+] /admin.php : 404 Not Found
[+] /admins.php : 404 Not Found
[+] /afk.php : 404 Not Found
[+] /noob.php : 404 Not Found
[+] /imghp?hl=fr&tab=wi : 200 OK
[+] End
Toucher au Kernel, c'est un peut comme se shooter au LSD, on pense pouvoir tout faire mais ça finit souvent mal.
+1 (0) -1 (0) Répondre


Messages dans ce sujet
[PYTHON] UrlLib HttpScan - par sakiir - 11-06-2013, 13h36
RE: [PYTHON] UrlLib HttpScan - par Trivial - 11-06-2013, 13h50
RE: [PYTHON] UrlLib HttpScan - par supersnail - 11-06-2013, 14h02
RE: [PYTHON] UrlLib HttpScan - par 0pc0deFR - 11-06-2013, 15h17
RE: [PYTHON] UrlLib HttpScan - par gruik - 11-06-2013, 16h03
RE: [PYTHON] UrlLib HttpScan - par sakiir - 11-06-2013, 18h45
RE: [PYTHON] UrlLib HttpScan - par supersnail - 11-06-2013, 20h40
RE: [PYTHON] UrlLib HttpScan - par Kiwazaru - 12-06-2013, 16h03
RE: [PYTHON] UrlLib HttpScan - par oosfalte - 30-06-2013, 13h57
RE: [PYTHON] UrlLib HttpScan - par Kiwazaru - 30-06-2013, 15h26
RE: [PYTHON] UrlLib HttpScan - par oosfalte - 30-06-2013, 16h42
RE: [PYTHON] UrlLib HttpScan - par Kiwazaru - 30-06-2013, 17h20
RE: [PYTHON] UrlLib HttpScan - par InstinctHack - 30-06-2013, 18h13
RE: [PYTHON] UrlLib HttpScan - par gruik - 30-06-2013, 19h37

Sujets apparemment similaires…
Sujet Auteur Réponses Affichages Dernier message
  [Python]Situer mon niveau. InforMods 19 1,621 10-11-2016, 00h03
Dernier message: ZeR0-@bSoLu
  [PYTHON] un bot IRC basique darcosion 1 241 13-06-2016, 20h40
Dernier message: Yttrium
  [python] ANBU ::: TCP Session Hunter St0rn 2 352 25-02-2016, 18h45
Dernier message: otherflow
  [Python] Une autre façon de gérer les Virtualenv et Packages thxer 2 242 18-01-2016, 12h06
Dernier message: thxer
  [Python] rot script ark 9 765 08-03-2015, 00h37
Dernier message: ark
  [Python] Todo Manager ark 5 520 03-03-2015, 10h55
Dernier message: ark
  [python] Un décorateur pour inventorier les objets b0fh 1 246 04-12-2014, 17h50
Dernier message: thxer
  [python] UPnP Scanner St0rn 2 280 29-10-2014, 14h50
Dernier message: St0rn
  [python] Buffer Overflow : EBP et EIP St0rn 0 186 25-10-2014, 12h58
Dernier message: St0rn
  [Python] QuickHex thxer 9 728 15-08-2014, 20h26
Dernier message: sakiir

Atteindre :


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