LFI2RCE Via temp file uploads
Bu teknikle ilgili tüm ayrıntıları https://gynvael.coldwind.pl/download.php?f=PHP_LFI_rfc1867_temporary_files.pdf adresinde kontrol edin.
PHP Dosya yüklemeleri
Bir PHP motoru, RFC 1867'ye göre biçimlendirilmiş dosyalar içeren bir POST isteği aldığında, yüklenen verileri depolamak için geçici dosyalar oluşturur. Bu dosyalar, PHP betiklerinde dosya yükleme işlemlerini yönetmek için önemlidir. Eğer betiğin çalışmasından sonra kalıcı depolama gerekiyorsa, bu geçici dosyaları istenen bir konuma taşımak için move_uploaded_file
işlevi kullanılmalıdır. PHP, yürütme sonrasında kalan geçici dosyaları otomatik olarak siler.
Güvenlik Uyarısı: Geçici dosyaların konumunu bilen saldırganlar, yükleme sırasında dosyaya erişerek Kod Yürütme ile Yerel Dosya Dahil Etme (LFI) zafiyetini istismar edebilir.
Yetkisiz erişim için zorluk, geçici dosyanın adını tahmin etmektedir ve bu adlar kasıtlı olarak rastgele oluşturulur.
Windows Sistemlerinde Sömürü
Windows üzerinde, PHP GetTempFileName
işlevini kullanarak geçici dosya adları oluşturur ve <path>\<pre><uuuu>.TMP
gibi bir desen elde eder. Özellikle:
Varsayılan yol genellikle
C:\Windows\Temp
'tir.Önek genellikle "php"dir.
<uuuu>
, benzersiz onaltılık bir değeri temsil eder. Önemli olan, işlevin sınırlaması nedeniyle, yalnızca alt 16 bitin kullanılmasıdır, bu da sabit yol ve önek ile maksimum 65.535 benzersiz adın oluşmasına olanak tanır ve brute force saldırısı yapılabilir.
Ayrıca, sömürü süreci Windows sistemlerinde basitleştirilmiştir. FindFirstFile
işlevindeki bir özellik, Yerel Dosya Dahil Etme (LFI) yollarında joker karakterlerin kullanılmasına izin verir. Bu, geçici dosyayı bulmak için aşağıdaki gibi bir dahil etme yolunun oluşturulmasını sağlar:
Belirli durumlarda, daha spesifik bir maske (php1<<
veya phpA<<
gibi) gerekebilir. Yüklenen geçici dosyayı keşfetmek için bu maskeler sistematik olarak denenebilir.
GNU/Linux Sistemlerinde Sömürü
GNU/Linux sistemlerinde, geçici dosya adlandırma işlemindeki rastgelelik güçlüdür, bu nedenle adlar tahmin edilemez ve brute force saldırılarına karşı savunmalıdır. Daha fazla ayrıntı için ilgili belgelere bakabilirsiniz.
Last updated