que tal gente...
la cuestion es que programe un script en python que lo que hace es hacer fuerza bruta a un foro SMF protegido por cloudflare.
el script funciona bien, lo he testeado con una pass facil y la consiguio en algunos minutos.
ahora el problema, es que para conseguir una contrase;a real podria tomarme mucho tiempo.
el algoritmo de generacion de password funciona de la siguiente manera:
como veran, si la contrase;a tiene mas de 6 caracteres, deberiamos esperar a que finalize el algoritmo completo con 6 caracteres para probar con 7, y asi hasta llegar al largo correcto de la pass.
esto tomaria demasiado tiempo, suficiente para darse por vencido.
tengo 2 ideas:
crear multiples hilos y enlazarlos a una lista de cadenas.
en un hilo principal generar las contrase;as, y ir asignandolas de a una a cada hilo.
cada hilo haria la consulta mediante curl con su propio proxy, acelerando asi el proceso, pudiendo probar mas cantidad de contrase;as a la vez.
la otra idea es, igual que la anterior, pero en vez de cada hilo tener una lista, cada hilo iria generando contrase;as por su cuenta, de diferentes largos, y asi tener mas posibilidades de encontrar la pass.
que opinan de esto?
como podria optimizar mi script para acelerar el proceso al maximo posible?
la cuestion es que programe un script en python que lo que hace es hacer fuerza bruta a un foro SMF protegido por cloudflare.
el script funciona bien, lo he testeado con una pass facil y la consiguio en algunos minutos.
ahora el problema, es que para conseguir una contrase;a real podria tomarme mucho tiempo.
el algoritmo de generacion de password funciona de la siguiente manera:
Código [Seleccionar]
charset = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.-_"
cadena = ['','','','','']
def generar(cadena, indice, largo):
for x in xrange(0, len(charset)):
cadena[indice] = charset[x]
if indice < (largo-1):
generar(cadena, indice+1, largo)
else:
cad = ''.join(cadena)
probar_cuenta(cad)
def fuerzabruta():
for i in xrange(6, 15):
cadena.extend('x')
generar(cadena, 0, i)
como veran, si la contrase;a tiene mas de 6 caracteres, deberiamos esperar a que finalize el algoritmo completo con 6 caracteres para probar con 7, y asi hasta llegar al largo correcto de la pass.
esto tomaria demasiado tiempo, suficiente para darse por vencido.
tengo 2 ideas:
crear multiples hilos y enlazarlos a una lista de cadenas.
en un hilo principal generar las contrase;as, y ir asignandolas de a una a cada hilo.
cada hilo haria la consulta mediante curl con su propio proxy, acelerando asi el proceso, pudiendo probar mas cantidad de contrase;as a la vez.
la otra idea es, igual que la anterior, pero en vez de cada hilo tener una lista, cada hilo iria generando contrase;as por su cuenta, de diferentes largos, y asi tener mas posibilidades de encontrar la pass.
que opinan de esto?
como podria optimizar mi script para acelerar el proceso al maximo posible?