Python ile tanışmamın sebebi aklıma takılan " ‘abc’ yada ‘123’ gibi basit bir parola olsa ama deneme yöntemleriyle kırılamasa, mümkün mü? " sorusuydu ve sanırım yaptım.
Bu metodun kullanıcıyı uzun yada karmaşık parolalar kullanmak derdinden kurtarabileceğini sanıyorum. Yöntemi test etmek için emaneten bir web adresine yükledim. Bazı saldırı kodları yazarak giriş denemeleri yaptım ve saldırıyı atlatmayı başarıyor gibi görünüyor. Ancak mutlaka benden daha mahir arkadaşlar vardır.
Denemek isteyen olursa görüşlerinizi almak isterim. www.bruteforceattackblocker.com adresinden test edebilirsiniz. Kendinize bir kullanıcı adı belirliyorsunuz ve sistem size üç haneli basit bir parola belirlyor. Sonra kullanıcı adınızla parolanızı kırmak size kalmış.
Eğer forum yetkilisi bir sakınca görmez ise (?) saldırı kodlarımı da paylaşabilirim. Bu kodlarla orta hızda bir internet cafeden dakikada 1800-2000 civarı parola denemesi gönderebiliyorum sayfaya.
Tam olarak nasıl kırılamıyor, önemli bir bilgiyi elde etmek isteyen kötü amaçlı kişiler bu paroları mı daha hızlı kırar yoksa uzun ve daha çok karaktere sahip paroları mı? Şifrelerin sadece ASCII karakterler içereceğini varsayarsak ve de deneme yanılma yolu ile şifre kırmanın (brute force) bütün olasılıkları belli bir sıra ile denemek olduğunu düşünürsek üç karakter uzunluğunda bir şifre için 255**3 = 16581375 olasılık varken 8 karakter uzunluğunda bir şifre için 255**8 = 17878103347812890625 olasılık var.
Normal girisi de atlatmayi basariyor Kullanici actim ama parola belirtemedim. Kendim giremiyorum.
Deneyebilmek icin kullanici adi bilmemiz gerekiyor zira ilk adim dogru bir kullanici adi girmek. Deneyemiyoruz.
Baslangic seviyesinde programlama bilen herhangi biri basit bir saldiri kodu yazabilecegine gore bir sakinca goremiyorum. Ama bir gerek de goremiyorum. Savunma koduyla/algoritmasiyla ilgili zerre konusulmamis; nereye, niye saldiriyoruz o zaman?
Olay zaten kendi şifremizi de bilmeden giriş sayfasına brute force yapmak sanırım. Sanki başkasının hesabına saldırır gibi. Kendi kullanıcı adımızı bilmek yetiyor.
Bence yöntem rastgele üç karakter oluşturmaya dayalı …
Bir de şifrenin içerebileceği karakterleri söylememişsiniz, oysa gerçek bir sitede saldırıyı yapacak kişi bir hesap açmayı deneyerek hangi karakterlerin kullanılabileceğini, hangilerinin kullanılamayacağını görebilir.
Permütasyonda aaa gibi bir değeri elde edemezsiniz. Şifrenin karakterleri birbirinden bağımsız olduğu için 256 karakter x 256 karakter x 256 karakter (16777216) oluyor (255’i yanlış düşündük, 0 da dahil çünkü)
Haklısınız, Amaç yabancı bir hesaba girmeye çalışır gibi şifrenizi bilmeden, sadece kullanıcı adı ile kendi parolanızı kırmak. Sayfa içindeki açıklamalar yazmıştım ama daha açıklayıcı olmalı belki…
Parola 3 haneli oluşturuluyor, ve işi kolaylaştırmak için karakter sayısını düşük tuttum. Büyük küçük harfler, sayılar birkaç da karakter. Sanırım 77 adet ve bu da 456533 ihtimal yapıyor.
“ABCÇDEFGĞHIİJKLMNOÖPQRSŞTUÜVWXYZabcçdefgğhiijklmnoöpqrsştuüvwxyz0123456789-_@”
Normalde kısa parola kolay kırılır elbette ama algoritma bunu engelliyor.
Sisteme en son kayıt yapmış üyeler hede1234, NinjaBaba ve anonymous. Sen hangisisin bilmiyorum dostum ama hızlıca bir ad yazıp unuttuysan bunlardan biridir.
Şifre için de, parolamı unuttum butonunu denersin bir olmazsa
Evet bu işlem için iyi bir internet lazım, sunuculardaki gibi. HTML içinde aramak dışında, eğer başka bir sayfaya yönlendirme yaparsa da başarılı giriş yapmışız demektir.
doğru parolayı bulduğunuzda giris.php ye aktaracak sizi. kodunuza ekleyebilirsiniz. ben ittertol ve mechanize modüllerini kullanarak bir saldırı kodu yazmıştım.