Web Uygulama Güvenlik Testlerinde Burp Suite Eklenti Kullanımı

Burp
Suite sızma testlerinde sıklıkla kullanılan bir web proxy
uygulamasıdır. Gerek varsayılan olarak gelen eklentiler, gerekse harici
eklentiler yardımıyla web uygulama güvenliği alanında çok özellikli bir
araç haline gelmiştir. Bu yazıda varsayılan olarak gelen eklentilerden
Intruder, harici olarak da SQLMap eklentisi ele alınmıştır.


Burp Intruder

Burp
Intruder eklentisi, HTTP isteklerinin header veya body kısımlarında
istediğimiz bölümlere gerek manual hazırlanmış gerekse otomatik olarak
üretilen payloadları enjekte etmekte kullanılır.
Örneği basit tutmak adına bir web formuna parola denemesi ele alınmıştır.

Burp
Suite’i çalıştırıp web tarayıcıyı proxy olarak localhost:8080
kullanacak şekilde ayarladıktan sonra hedef sisteme tarayıcıdan erişilip
istek Burp Suite proxy sekmesinde görülür. Sağ tıklayıp “send to
Intruder” ile HTTP isteği Intruder eklentisine gönderilir. Şekilde de
gösterildiği gibi payloadın enjekte edileceği yerleri § karakteriyle
işaretleyip, HTTP isteğinin formatı hazırlanır.

Örnekteki
login formuna ait HTTP POST isteği kullanıcı adı bga, parola ise
enjeksiyon noktası olacak şekilde ayarlanmıştır. Payload sekmesinde
Payload Options bölümünde denenecek payloadlar(bizim durumumuzda
parolalar) bir dosyadan yüklenebilir ya da el ile girilebilir. Ayrıca
Payload Processing bölümünde payload üzerinde yapılacak işlemler
belirlenebilir. Örnekte parolaların sonuna 123 eklenmesi için “Add
suffix:123” şeklinde ayarlanmıştır.

Ayarlar
yapıldıktan sonra üst menüden Intruder-> Start attack tıklanarak,
saldırı başlatılır. Çalışma bittiğinde dönen cevapların süresi veya
boyutu gibi kriterler üzerinden yorum yapılabilir.

Örnek
çıktıda denenen tüm parolalarda cevabın boyutu 539 byte iken bga123
için 365’tir. Bunun sebebi de sisteme başarılı bir giriş
gerçekleştiğinde login formunu tekrar göstermek yerine giriş başarılı
yazan bir sayfa döndürmesidir.

Burp SQLMap

Burp
için hazırlanmış SQLMap eklentisi, sql enjeksiyon zafiyetlerini
istismar etmeye yarayan oldukça kullanışlı bir araç olan SQLMap ile Burp
Suite’i entegre etmiştir. http://code.google.com/p/gason/downloads/list adresinden ücretsiz olarak indirilebilir.

Linuxte
eklentiye ait gason-0.9.5.jar dosyası Burp Suite’in olduğu dizine(Kali
de /usr/bin) atılıp ilgili dizine girildikten sonra
“java
-classpath gason-0.9.5.jar:burpsuite.jar burp.StartBurp” komutu ile
burp suite sqlmap eklentisiyle beraber çalıştırılır. Yine önceki örnekte
olduğu gibi, HTTP isteği burp ile kesildikten sonra, sağ tuş-> send
to sqlmap tıklanarak sqlmap eklentisi açılır. SQLmap’in terminalde
kullanmaya aşina olduğumuz özellikleri bu eklenti üzerinden görsel
arayüz aracılığıyla kullanılabilir.

Örnekte
sqlmap, HTTP isteğindeki parametreleri sqli için test edip, istismar
edilebilir bir parametre bulduğunda veritabanının MySQL olduğunu
varsayarak veri tabanı kullanıcılarını listeleyecek şeklide
ayarlanmıştır. Gerektiğinde belli kullanıcı ya da tablolarla işlem
yapmaktan, tamper script seçmeye kadar sqlmap’in hemen her özelliği
eklenti aracılığıyla kullanılabilir. Run butonu tıklandığında seçilen
ayarlar için yeni bir sekmede sqlmap çalışır ve çıktısı ekranda görünür.
Eklentinin
ana sekmesinden farklı ayarlarla tekrar Run butonuna tıklanarak farklı
sekmelerde eşzamanlı olarak sqlmap çalıştırılabilir.

Onur ALANBEL <onur.alanbel@bga.com.tr>