Jeg skal etterhvert bruke kombinasjonene i et python-program. Blir som en bruteforcer..
Tror du er litt ute kjører her,du lager ikke først en tall/ordliste viss du skal bruteforce et tall som er imellom 1-10000.
Skal vise litt av dette og se litt på tidforbruk på og finne en et tall mellom 1-10000,noe som går veldig fort.
Funker scriptet ditt som det er pyramide?
Nei,og du bør se hva som er feil viss du har brukt python litt.
"000" + i går det bra og legg til en string med integer?
Kode
IDLE 2.6.2
>>> i = 5
>>> '000' + i
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
'000' + i
TypeError: cannot concatenate 'str' and 'int' objects
>>>
Nei,det gjøre det selvfølgelig ikke,vi bare gjør om til string med og bruke (str)
Bare for og gjøre det ferdig en litt verbose løsning,men den fungerer.
Orker ikke og bruke tid på og lage noe annet nå,og tror ikke du i utgangspunktet trenger dette.
Kode
for i in range(10000):
if i < 10:
print '000' + str(i)
elif i < 100:
print '00' + str(i)
elif i < 1000:
print '0' + str(i)
elif i < 10000:
print '' + str(i)
Her et script som utfører bruteforce,har også tatt tidmåling og psyco for og få fart på ting(python kan være rask)
Kode
#! /usr/bin/Python
import datetime
import sys
#import psyco #To speed opp code
#psyco.full()
s = datetime.datetime.now()
chars = 'abcdefghijklmnopqrstuvwxyz0123456789'
def crack(w, pos, p, pwd):
for c in chars:
cr = None
if pos < w:
cr = crack(w, pos+1, p+c, pwd)
if cr:
return cr
if p+c == pwd:
return p+c
if __name__ == '__main__':
try:
pwd = sys.argv[1]
except:
print 'Usage: %s <password>' % sys.argv[0]
sys.exit(1)
p = None
w = 1
max_len = 10
while not p and w < max_len:
p = crack(w, 0, '', pwd)
w += 1
print 'Found', p
e = datetime.datetime.now()
print "Time Elapsed: ", (e - s)
For og bruke dette fra cmd.
C:\Python26>python brute.py 5589
Test 1.
Velger et tilfeldig tall mellom 1-10000 si 5589(psyco disable)
Tid brukt 0.36 sek.
Test 2
Velger et tilfeldig tall mellom 1-10000 si 5589(psyco enable)
Tid brukt 0.094 sek.
Så bruteforce et tall mellom 1-10000 går veldig fort.
La oss øke til 100000.
Test 3
Velger et tilfeldig tall mellom 1-100000 si 55589(psyco disable)
Tid brukt 8min 10sek
Test 3
Velger et tilfeldig tall mellom 1-100000 si 55589(psyco enable)
2min og 02sek
Her ser vi psyco dra tiden bra ned.
Konklusjon.
Det tar 0.094sek og brukteforce et tall mellom 1-10000 men python(psyco)
Og lage en tall liste for dette har ingen funksjon.
Du er inne på noe det og lage eller bruke ferdige ordlister(rainbow-tabel)er noe som selvfølgelig kan øke farten med 100 vis ganger forhold til bruteforce viss ordliste(rainbow-tabel) har løsningordet/tallet.
Som du ser det og lage et bruteforce script er ikke så vansklig.
Bruteforce er stor sett avhengig av maskinware.
Det nye er og bruke GPU til bruteforce.
Ranvik har tatt det opp i denne fine guiden.
http://www.freakforum.nu/forum/showthread.php?t=143234