LFI Zafiyetini RCE’ye Çevirme | Log Zehirleme

PwnLab.Me

Admin
Katılım
21 Ocak 2024
Mesajlar
202
Tepkime puanı
9
Puanları
18
wakeup tarafından yazılmıştır.

LFI Zafiyetini RCE’ye Çevirme | Log Zehirleme​


Selamlar herkese, bu konuda sizlere LFI yani local file inclusion zafiyetini remote code evaluation zafiyetine çevirmeyi anlatacağım. Aslında bu işlemi yapmanın birçok farklı yöntemi var ama ben size log zehirleme işlemini anlatacağım. Laboratuvar ortamı olarak TryHackMe‘de bulunan LFI Basics odasındaki 3. görevi baz alacağım. THM’de oda çözebilmek için ovpn konfigürasyonu gibi hazırlık işlemleri var ancak onları bu konuda anlatmayacağım ancak bu odayı inceleyerek nasıl yapılacağını öğrenebilirsiniz.

LFI Zafiyeti Nedir?​


LFI zafiyeti php ile yazılan websitelerinde karşılaşılmaktadır. Herhangi bir dosyanın kullanıcıdan alındığı sırada ya da veri olarak yollandığı süreçte filtreleme işlemlerinde yapılan yanlışlıklardan kaynaklanmaktadır. Bunun sonucunda site ziyaretçileri yetkileri dışında istedikleri dosyanın içeriğini görüntüleyebilirler. LFI açığını kritik bir açık yapan hususlardan birisi ise RCE zafiyetine dönüştürülebilir olmasıdır.

RCE Zafiyeti Nedir?​


RCE zafiyetinin karşılaşıldığı herhangi belirli bir programlama dili bulunmamaktadır çünkü çoğu programlama dilinde evaluation fonksiyonları mevcuttur. Bu zafiyete kullanıcı tarafından bir string ya da dosya enjekte edildikten sonra sitenin arkaplanında çalışan web programlama dilinde kullanılan parser yani ayrıştırıcının bu girdi üzerinde işlem yapması neden olmaktadır.

Log Zehirleme İşlemi​


En temel şekilde log zehirleme yani poisoning işlemi, sunucu loglarına zararlı php kodları enjekte ederek gerçekleşmektedir. Ancak bu işlemin uygulanacağı dizinde okuma ve çalıştırma yetkileri bulunması önemli bir husustur.

Reaching RCE using LFI and log poisoning

Örnek Apache Log Dosyası

Sayfaya girdiğimizde aşağıdaki gibi bir ekran ile karşılaşıyoruz.


LFI Zafiyeti Bulunan Sayfa

?page parametresi ile apache log dosyalarını okumayı denediğimizde sayfada LFI zafiyetinin olduğunu anlıyoruz.

?page=/var/log/apache2/access.log

LFI ile Apache Log Dosyasını Görüntülemek

Logları okuyabildiğimize göre sıra zehirleme işleminde
🙂
İlk olarak burpsuite ile gelen/giden istekleri yakalamalıyız.


Gönderilen Web İsteği

İsteği yakaladık. Şimdi user-agent kısmına php kod enjekte edelim.

User-Agent: Mozilla/5.0 <?php system($_GET['lfi']) ?> Chrome/87.0.4280.66 Safari/537.36

Değiştirilen Web İsteği

CTRL+R ile değiştirmiş olduğumuz isteği Repeater’e gönderelim. Repeater’da lfi değerine whoami sorgusunu ekleyelim.


Komut Gönderme İşlemi

Sorgunun çalıştığını aşağıdaki görselden anlayabilirsiniz. Böylece LFI zafiyetini RCE’ye çevirmiş olduk ve komut çalıştırabiliyoruz.


Komut Gönderilen İsteğin Cevabı

Kendinize iyi bakın, sağlıcakla kalın…
🙂
 
Moderatör tarafında düzenlendi:
Geri
Üst