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


  • ANNUAIRE
  • [EN] osix
    Site de challenge qui utilise un système de level on chaque épreuve doit être réussie avant d'accédÃ...
    Challenges
    [EN] Astalavista
    JavaScript: 1, Exploit: 2, Crypto: 34, CrackIt: 15, Stegano: 8, Programming: 12, Logic: 36, Special: 6, Science: 4, Info...
    Challenges
    [EN] hax.tor
    50 level de challenges mélangés
    Challenges
    [FR] Zenk-Security
    La communauté zenk-security a pour objet principal la sécurité informatique, nous sommes des tou...
    Hacking
    [FR] µContest
    µContest est un site de challenges de programmation, c'est à dire qu'il propose des épreu...
    Hacking
    [EN] Defcon
    Lancé en 1992 par Dark Tangent, DEFCON est la plus ancienne et la plus grande conférence underground de...
    Hacking
    [EN] PHPFreaks
    PHPFreaks est un site dédié à l'apprentissage et l'enseignement du PHP. Ici vous trouver...
    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 : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[PYTHON] UrlLib HttpScan
11-06-2013, 13h36
Message : #1
sakiir Hors ligne
[sakiir@Ubuntu]:~$ ./ExploitMe ShellC0de
*



Messages : 411
Sujets : 51
Points: 34
Inscription : Sep 2012
[PYTHON] UrlLib HttpScan
Salut à tous !
Alors aujourd'hui , pour m'entrainer un peu avec python et urllib j'ai commencé plusieurs outils dont un pour scan un site web , (Vérifier[/php] les found , not found , et autre erreur renvoyer par le serveur web).

Code :
import urllib
import sys

def opt():
    print """
        ##############

        USAGE : ./scan.py <WordList> <Url>
        EXAMPLE : ./scan.py /etc/passwd http://google.com/
        
        ##############
    """
    
if len(sys.argv) <> 3:
    opt()
i=0
fp = open(sys.argv[1],"r")

for line in fp:
    tmp = urllib.urlopen(sys.argv[2] + line)
   ## print tmp.read()
    s = tmp.read()
    if "Not Found" in s:
        print "[-] NOT FOUND : " + sys.argv[2] + line
    elif "404" in s:
        print "[-] NOT FOUND : " + sys.argv[2] + line
    elif "403" in s:
        print "[+] FORBIDDEN : " + sys.argv[2] + line
    elif "Page introuvable" in s:
        print "[-] NOT FOUND : " + sys.argv[2] + line
    else:
        print "[+] FOUND : " + sys.argv[2] + line
fp.close()

Le programme Utilise une wordlist qui contient des mots clés comme cpanel , phpmyadmin etc ..

don en testant sur N-PN à mes risques et périls j'ai pu voir que le programme me repondait FOUND pour le mot phpmyadmin j'ai vérifié et on peut bien accéder à http://n-pn.fr/phpmyadmin

Je pense que grâce à ce problème un pirate pourrait bruteforcer ou tester d'autre attaques .. voila merci d'avoir lut a+ !
+1 (0) -1 (0) Répondre
11-06-2013, 13h50
Message : #2
Trivial Hors ligne
Membre actif
*



Messages : 223
Sujets : 10
Points: 29
Inscription : Aug 2011
RE: [PYTHON] UrlLib HttpScan
Salut,
J'avoue que ça serai quand même mieux de renommer le phpmyadmin.
Sinon, nice ton script python :-)
Citation :manger informatique, dormir informatique, chier informatique sans jamais avoir l'impression que ça nous accable ou que c'est relou, c'est ça être passionné - j0rn
+1 (0) -1 (0) Répondre
11-06-2013, 14h02
Message : #3
supersnail Hors ligne
Éleveur d'ornithorynques
*******



Messages : 1,609
Sujets : 71
Points: 465
Inscription : Jan 2012
RE: [PYTHON] UrlLib HttpScan
Pour le phpmyadmin, on gère ça Wink

Ensuite, imho vaudrait mieux se baser sur le code d'erreur HTTP renvoyé que sur la recherche d'un mot (on tool peut être defeat en mettant un "not found" dans une page qui existe, et ne pas détecter un 404 custom qui ne contient pas de "not found").

Anyway, sympa malgré tout Wink
Mon blog

Code :
push esp ; dec eax ; inc ebp ; and [edi+0x41],al ; dec ebp ; inc ebp

"VIM est merveilleux" © supersnail
+1 (0) -1 (0) Répondre
11-06-2013, 15h17
Message : #4
0pc0deFR
Non-enregistré



 
RE: [PYTHON] UrlLib HttpScan
Petite optimisation, détecter le / en fin de nom de domaine car si ta wordlist intègre le / du style /phpmyadmin tu va avoir http://domain.com//phpmyadmin ou alors http://domain.comphpmyadmin enfin, tu auras compris le principe.
positive (0) negative (0) Répondre
11-06-2013, 16h03
Message : #5
gruik Hors ligne
gouteur de savon
*



Messages : 757
Sujets : 44
Points: 482
Inscription : Oct 2012
RE: [PYTHON] UrlLib HttpScan
(11-06-2013, 15h17)0pc0deFR a écrit : Petite optimisation, détecter le / en fin de nom de domaine car si ta wordlist intègre le / du style /phpmyadmin tu va avoir http://domain.com//phpmyadmin ou alors http://domain.comphpmyadmin enfin, tu auras compris le principe.

[Image: tumblr_m95gu6qnyG1qm2i1uo1_1280.jpg]

urllib suit automatiquement les redirections 30{1,2}
par ailleurs plutot qu'un "if tag in read()" tout cracra il eu tété de bon aloi d'utiliser getcode()

Code PYTHON :
>>> import urllib2
>>> p =urllib2.urlopen('http://n-pn.fr')
>>> print p.getcode()
200


limite c'est l'inverse qui est plus tricky, arriver à détecter les redirections
les puristes ajouteront sans doute que l'optimisation aurait consisté à utiliser httplib à la place de urllib
+1 (0) -1 (0) Répondre
11-06-2013, 18h45
Message : #6
sakiir Hors ligne
[sakiir@Ubuntu]:~$ ./ExploitMe ShellC0de
*



Messages : 411
Sujets : 51
Points: 34
Inscription : Sep 2012
RE: [PYTHON] UrlLib HttpScan
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 ?

0pc0deFR : Oui j'ai voulu le faire , mais bon ca fonctionnais à mon image Wink

Gruik : j'ai pas bien compris ce que tu voulais dire
+1 (0) -1 (0) Répondre
11-06-2013, 20h40
Message : #7
supersnail Hors ligne
Éleveur d'ornithorynques
*******



Messages : 1,609
Sujets : 71
Points: 465
Inscription : Jan 2012
RE: [PYTHON] UrlLib HttpScan
sakiir: ben en fait gruik te donne la réponse... Mais bon à un moment faut connecter un peu plus que 2 neurones et se prendre un peu en main (lrn2rtfm aussi ça peut être une bonne idée).
Mon blog

Code :
push esp ; dec eax ; inc ebp ; and [edi+0x41],al ; dec ebp ; inc ebp

"VIM est merveilleux" © supersnail
+1 (2) -1 (0) Répondre
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
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
30-06-2013, 13h57
Message : #9
oosfalte Hors ligne
Flying Cloud
*



Messages : 47
Sujets : 3
Points: 8
Inscription : Jan 2013
RE: [PYTHON] UrlLib HttpScan
Bon, j'y vais de ma modeste contribution vu que je me suis mis au Python depuis quelques jours seulement.
Supersnail et gruik en ont parlé, on peut aussi se servir de HTTPError, URLError et IOError (dont dépéndent les 2 autres) pour gérer les erreurs.
Ca me paraît intéressant et permet de couvrir un plus large éventail (les redirections ?) si bien utilisé, ce que ne fait pas mon code :/
Ca évite aussi l'utilisation d'un dictionnaire, donc je me suis dit ... why not ?
Code PYTHON :

#!/usr/bin/env python
# -*- encoding: utf-8 -*-

import urllib2, sys

def usage():
    #usage
    print("Usage   : {} <WordList>   <Url>".format(sys.argv[0]))
    sys.exit()

if len(sys.argv) != 3:
    usage()

fp = open(sys.argv[1], "r")

# on tente de joindre le serveur
# en cas d'échec urlopen active URLError
try:
    urllib2.urlopen(sys.argv[2])
except urllib2.URLError, url_e:
    print "Echec connexion ", sys.argv[2]
    sys.exit(url_e.reason)

for line in fp:
    test_url = sys.argv[2] + line
    print "[+]", test_url[:-1],
    try:
        test_req = urllib2.urlopen(test_url)
    # en cas d'échec sur une opération I/O, IOError est activé
    except IOError, error:
        print ":", error.code, error.reason
    else:
        print (": OK")

fp.close()
 
+1 (0) -1 (0) Répondre
30-06-2013, 15h26
Message : #10
Kiwazaru Hors ligne
Padawan d'un super escargot
*



Messages : 284
Sujets : 26
Points: 139
Inscription : Mar 2012
RE: [PYTHON] UrlLib HttpScan
"Ca me paraît intéressant et permet de couvrir un plus large éventail (les redirections ?) si bien utilisé, ce que ne fait pas mon code :/"

Justement le principe de mon code avec les sockets est d'envoyer une requête GET /pagedemandé.??? HTTP/1.1 , pour obtenir la réponse du serveur qui contiendra le code en retour.
Avec ma fonction errorcode() on obtient le code retourné et ainsi nous n'avons pas besoin d'un dictionnaire de code d'erreur ou autre. De plus ma liste qui contient les pages d'accès peut bien évidemment être remplacée par une wordlist.txt Wink
Ma fonction errorcode() au final, esquive juste le HTTP/1.1 dans l'en-tête de la réponse du serveur, et ensuite nous renvois la suite jusqu'au '\n' puisqu'on aura split() auparavant Smile
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
30-06-2013, 16h42
Message : #11
oosfalte Hors ligne
Flying Cloud
*



Messages : 47
Sujets : 3
Points: 8
Inscription : Jan 2013
RE: [PYTHON] UrlLib HttpScan
@ReVerSe:
Loin de moi l'idée de critiquer ton code, tu as plus d'expérience que moi dans le domaine, c'est certain.C'est juste une autre façon de faire, vu sous un autre angle Smile
+1 (0) -1 (0) Répondre
30-06-2013, 17h20 (Modification du message : 30-06-2013, 17h21 par Kiwazaru.)
Message : #12
Kiwazaru Hors ligne
Padawan d'un super escargot
*



Messages : 284
Sujets : 26
Points: 139
Inscription : Mar 2012
RE: [PYTHON] UrlLib HttpScan
J'ai jamais cru que tu critiquais mon code hein Tongue
Comme beaucoup disent, il n'y a pas qu'une seule façon de coder quelque chose, mais bien une infinité Wink
Toucher au Kernel, c'est un peut comme se shooter au LSD, on pense pouvoir tout faire mais ça finit souvent mal.
+1 (1) -1 (0) Répondre
30-06-2013, 18h13
Message : #13
InstinctHack Hors ligne
Posting Freak
*



Messages : 1,366
Sujets : 184
Points: 299
Inscription : Dec 2011
RE: [PYTHON] UrlLib HttpScan
et souvent ils y en as quelques unes très jolies, et une infinités de saloperies :]
Citation :un jour en cours de java j'ai attrapé les seins d'une fille mais elle m'a frappé en disant "c'est privé !!"
j'ai pas compris pourquoi, je croyais qu'on était dans la même classe
+1 (0) -1 (0) Répondre
30-06-2013, 19h37
Message : #14
gruik Hors ligne
gouteur de savon
*



Messages : 757
Sujets : 44
Points: 482
Inscription : Oct 2012
RE: [PYTHON] UrlLib HttpScan
pour l'annecdote, les "motto" Perl et Python sont respectivement TMTOWTDI (there's more than one way to do it) et TOOWTDI (there's only one way to do it)
de là à dire que vous êtes des Perleux qui s'ignorent il n'y a qu'un pas Big Grin
+1 (0) -1 (0) Répondre


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

Atteindre :


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