SQLi Kullanarak Giriş Formu Aşma/Authentication Bypass

BGA Security Wiki sitesinden
Şuraya atla: kullan, ara

Amaç:

Hedef uygulamanın, giriş formundaki “SQL injection” zafiyetini istismar ederek, sisteme yetkisiz giriş yapmak.

Araçlar:

  • Burp Suite
  • Mutillidae

Adımlar:

1. Adım: Hedef giriş formu açılır (owasp top 10->A1->bypass auth->login), kullanıcı adı ve parola alanlarında, sık kullanılan bir payload olan ‘ or ‘1’=’1 denenir. “Mutillidae security Level” 0 için bu payloadın başarıyla çalıştığı görülmektedir.

Owasp.png


2. Adım: Security level 1 olarak ayarlanıp, aynı payload denendiğinde “Dangerous characters detected. We can't allow these.....” diye başlayan bir hata mesajı alınmaktadır. Mesajın devamında yazdığı üzere, bir çeşit “blacklist” yöntemi uygulanıyor. Bu aşamada tarayıcı “proxy” olarak “Burp Suite” kullanacak gibi ayarlanır ve payload içermeyen bir giriş isteği gönderilir. “Burp Suite” üzerinden yakalanan istek, “password” bölümüne 1.Adım’ daki gibi yerleştirilip gönderilir. Bu şekilde, istemci taraflı korumanın aşıldığı görülmektedir.

3. Adım: Farklı payloadları otomatik olarak denemek ve blacklist’in içermediği bir payload bulabilmek için, Burp Suite’in “intruder” eklentisi kullanılabilir. Yakalanan istek, Burp Suit’in intruder eklentisine gönderilir. Girdi noktaları belirlenir (örnekte kısa sürmesi için sadece parola alanı seçilmiştir).

Burp3.png


Payloads tabından denenecek payloadların listesi eklenir. Sıklıkla kullanılan “sqli login” payloadlarının olduğu bir listeye;

http://www.architectingsecurity.com/wp-content/uploads/authentication-bypass-list.txt

adresinden ulaşılabilir. Payload “Options” bölümünden, “Load” butonu tıklanarak, liste yüklenir ve üst menüden “Intruder->Start Attack” butonuna tıklanılarak saldırı başlatılır.

Burp4.png


Dönen cevaplar (özellikle boyutu farklı olanlar) incelenerek, başarılı olan payloadlardan biri seçilip kullanılarak, sisteme yetkisiz giriş yapılabilir.