Merhaba Arkadaşlar Bu Yazı Nette Dikkatimi Çekti Paylaşmak istedim..
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;
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;
evet kodumuz bu şekilde ve saldırı kodumuz bu şekilde olsun
)
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; örnSQL 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.
webguvenligi.net ( Alıntıdır)
web güvenlik
http://skaracan.com/web-uygulamalari-uzerinde-firewall-bypass.html