"Local File Inclusion" Nedir?

T4SLA

Üye
13 Ocak 2021
218
105

LOCAL FİLE INCLUSİON NEDİR ?


“File inclusion” olarak adlandırılan bu zafiyet çeşidi sayfaya eklenen dosyaların kullanıcı girdisi ile alındığı yada herhangi bir şifreleme,filitreleme işlemi olmadan gönderilmesi sonucunda kullanıcının yetkisi olmayan dosyaları görüntüleyebilmesini,okuyabilmesini sağlayan oldukça zararlı bir zafiyet çeşididir.

4dKDtQ.png


Bu zafiyetin sömürülme şekli genelde okunmak istenilen dosyanın yolunu deneme yanılma yöntemi ile bularak sömürebildiğimiz bir zafiyet türüdür.
local-file-inclusion-vulnerability-860x450.jpg

Örnek vermek gerekirse:

Kod:
http://site.com/index.php?sayfa=../../../../../../../../../etc/passwd

4dKDtQ.png


Bir sitenin “index.php” sayfasında bulunan “file inclusion” açığı ile linux sistemlerde bulunan “passwd” dosyasının içeriğini görüntüleyebiliyoruz.
“../” ifadesi ise “/etc/passwd” dosyasının hangi klasörlerin içinde olduğunu bilmediğimiz için “/etc/passwd” dosyasından önce var olan dizinleri tahmin etmeye çalıştığımız bir ifadedir.


4dKDtQ.png


Aslında bu güvenlik açığı “index.php” içerisindeki php kodunun getirmiş olduğu bir zafiyettir.

Dilerseniz bu kodun ne olduğuna bakalım:

Kod:
<?php

include($_GET[‘sayfa’])

?>

Bu şekilde bir get isteği yapıldığını görüntülüyoruz şimdi bu get isteğinin “url” kısmındaki çıktısını inceleyelim:

Kod:
http://site.com/index.php?sayfa=dosya.php


4dKDtQ.png


Yukarıda ki url bir web sitesindeki çalışan php kodunun bizim aracılığımız ile yolladığı get isteğinin url’e yansımış bir görüntüsüdür.

Url’in sonundaki “dosya.php” site içerisinde gitmek istediğimiz başka bir sayfayı temsil etmektedir.


4dKDtQ.png


LFİ zafiyetleri bazen waf (web application firewall) araçları tarafından engellenebilir bu yolda encode ve bypass teknikleri denenerek güvenlik duvarları atlatılmaya çalışılabilir.
Encode tekniği ile oluşturulmuş bazı lfi zafiyeti sömürü örnekleri:
Kod:
http://site.com/index.php?page=%252e%252e%252f
http://site.com/index.php?page=etc/passwd%00
http://site.com/index.php?page=….//….//etc/passwd

4dKDtQ.png

LFI ZAFİYETİNDEN KORUNMA YÖNTEMLERİ :

1)Kodları daha güvenli hale getirmek.

Zayıf kod örneği:


Kod:
<?php

include($ornek. ‘../index.php’);

?>


Güvenli kod örneği:

Kod:
<?php

$ornek = ‘veri’;

include($ornek. ‘../index.php’);

?>

4dKDtQ.png


Güvenli kod örneğinde gönderilecek veriyi fonksiyon tanımlaması yaparak gönderdiğimiz için dışarıdan gelen veri girişlerine izin vermeyecek ve herhangi bir file inclusion zafiyeti oluşmamış olcaktır.


2)php.ini

“/etc/php.ini dosyasının” içerisinde bulunan “disable_function” değerine bazı parametreleri ekleyerek shell scriptlerinin çalışmasını engellemek mümkün olabilir.

Eklenmesi gereken parametreler:

Kod:
disable_function = system, passthru, exec, popen, proc_close, proc_get_status, proc_nice, proc_open, allow_url_fopen, shell, shellexec, executeservice





Okuduğunuz için teşekkür ederim :)

CckryH.gif





 
Moderatör tarafında düzenlendi:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.