Online MD5 Cracker, verdiğiniz MD5 hash’ini online olarak arar ve eğer daha önceden kırılmış halini size verir.
Saldırı Senaryosu:
SQL Injection saldırısı sonucu veri tabanından elde ettiğimiz kullanıcının şifresi MD5 ile encrypt edildiği için MD5 Cracker programımızla internette daha önceden kırılmış olan hash değerini online olarak bulacağız.
Algoritma:
1. Kullanıcıdan MD5 değerini talep et.
2. Alınan MD5 değerini md5.my-addr.com sitesine POST et.
3. Eğer değeri bulabilirsen ekrana bas.
4. Eğer değer MD5 değilse, türünü ekrana bas.
5. Eğer değer değeri bulamadıysan devam edip edilmeyeceğini sor.
6. Eğer devam edilecekse yeni değer talep et, devam edilmeyecekse kapan.
Kod Paylaşımı:
Saldırı Senaryosu:
SQL Injection saldırısı sonucu veri tabanından elde ettiğimiz kullanıcının şifresi MD5 ile encrypt edildiği için MD5 Cracker programımızla internette daha önceden kırılmış olan hash değerini online olarak bulacağız.
Algoritma:
1. Kullanıcıdan MD5 değerini talep et.
2. Alınan MD5 değerini md5.my-addr.com sitesine POST et.
3. Eğer değeri bulabilirsen ekrana bas.
4. Eğer değer MD5 değilse, türünü ekrana bas.
5. Eğer değer değeri bulamadıysan devam edip edilmeyeceğini sor.
6. Eğer devam edilecekse yeni değer talep et, devam edilmeyecekse kapan.
Kod Paylaşımı:
Kod:
import urllib, urllib2, re #Kullanilacak moduller girildi.
while True:
sifre = raw_input("Kırılması istenilen MD5 değerini giriniz: ") #Kullanicidan md5 degeri istendi.
site = "http://md5.my-addr.com/md5_decrypt-md5_cracker_online/md5_decoder_tool.php" #Kullanilacak site
data = urllib.urlencode({"md5":sifre}) #Sifre kismina gonderildi.
request = urllib2.Request(site) #Siteye request atildi.
response = urllib2.urlopen(request, data) #URL acildi.
payload = response.read() #Site tarafindan okunu.
results = re.findall("<div class='white_bg_title'><span class='middle_title'>Hashed string</span>: (.*?)</div>", payload) #MD5 degerini sitede arayip buldu.
result2 = re.findall('''<div class='error_title'>String "(.*?)" is not MD5 hash</div>''', payload) #Girilen ifadenin MD5 degeri olmadigini soyluyor.
result3 = re.findall('''<div class='error_title'>Hash "(.*?)" not found in database</div>''', payload) #MD5i crackleyemedi.
if sifre.isalnum() and len(sifre) == 32 and sifre !="" and sifre !="\n":
if not results:
print sifre+", Bu MD5 değeri veritabanında bulunamadı. :( \n" #Bulunamadiginda verilecek hatamiz.
pass
else:
for result in results:
print sifre+" için MD5 değeri : "+result+ "\n" #Bulundugunda verecek tepki.
islem = raw_input("Çıkmak için 'Q', devam etmek için 'E'ye basın :") #Devam edip etmeyecegine dair aldigimiz kullanici degeri.
islem.lower()
if islem=="Q":
break
else:
print "\n"
continue
elif sifre.isalnum() and len(sifre) == 40 and sifre !="" and sifre !="\n":
for rslt2 in result2:
print rslt2+", Bu ifade bir MD5 değeri değil. Bu ifade bir SHA1 değeridir. \n" #Eger MD5 degeri degilse ve SHA1 ise verecegi deger.
islem = raw_input("Çıkmak için 'Q', devam etmek için 'E'ye basın :") #Devam edip etmeyecegine dair aldigimiz kullanici degeri.
islem.lower()
if islem=="Q":
break
else:
print "\n"
continue
else:
print sifre+", Bu ifade bir MD5 değeri değil.\n" #MD5 degilse ve SHA1 de degilse verecegi deger.
islem = raw_input("Çıkmak için 'Q', devam etmek için 'E'ye basın :") #Devam edip etmeyecegine dair aldigimiz kullanici degeri.
islem.lower()
if islem=="Q":
break
else:
print "\n"
continue
💬 SpyHackerz Telegram — Anlık tartışmalar ve duyurular için katıl