4.8 KiB
AWS hacklemeyi sıfırdan kahraman olmak için htARTE (HackTricks AWS Kırmızı Takım Uzmanı) öğrenin!
HackTricks'ı desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklamını görmek isterseniz veya HackTricks'i PDF olarak indirmek isterseniz ABONELİK PLANLARINI kontrol edin!
- Resmi PEASS & HackTricks ürünlerini edinin
- PEASS Ailesi'ni keşfedin, özel NFT'lerimizden oluşan koleksiyonumuz
- 💬 Discord grubuna veya telegram grubuna katılın veya Twitter 🐦 @carlospolopm'ı takip edin.
- Hacking hilelerinizi HackTricks ve HackTricks Cloud github depolarına PR göndererek paylaşın.
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.
{% hint style="info" %} 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. {% endhint %}
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:
http://site/vuln.php?inc=c:\windows\temp\php<<
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.
AWS hacklemeyi sıfırdan kahraman olmak için öğrenin htARTE (HackTricks AWS Red Team Expert)!
HackTricks'i desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklamınızı görmek veya HackTricks'i PDF olarak indirmek için ABONELİK PLANLARINA göz atın!
- Resmi PEASS & HackTricks ürünlerini edinin
- Özel NFT'lerden oluşan koleksiyonumuz The PEASS Family'i keşfedin
- 💬 Discord grubuna veya telegram grubuna katılın veya Twitter 🐦 @carlospolopm'u takip edin.
- Hacking hilelerinizi HackTricks ve HackTricks Cloud github reposuna PR göndererek paylaşın.