tip
AWS Hacking'i öğrenin ve pratik yapın: HackTricks Training AWS Red Team Expert (ARTE)
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın:  HackTricks Training GCP Red Team Expert (GRTE)
HackTricks Training GCP Red Team Expert (GRTE) Azure Hacking'i öğrenin ve pratik yapın:
Azure Hacking'i öğrenin ve pratik yapın:  HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter'da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.
Önemli not:

dl bir PHP fonksiyonudur ve PHP uzantılarını yüklemek için kullanılabilir. Eğer bu fonksiyon devre dışı bırakılmamışsa, disable_functions'ı atlamak ve rastgele komutlar çalıştırmak için kötüye kullanılabilir.
Ancak, bazı katı sınırlamaları vardır:
- dlfonksiyonu bulunmalıdır ve devre dışı bırakılmamalıdır
- PHP Uzantısı sunucunun kullandığı aynı ana sürümle (PHP API sürümü) derlenmiş olmalıdır (bu bilgiyi phpinfo çıktısında görebilirsiniz)
- PHP uzantısı, extension_dirdirektifi ile tanımlanan dizinde bulunmalıdır (bunu phpinfo çıktısında görebilirsiniz). Bir saldırganın sunucuyu kötüye kullanmaya çalışırken bu dizinde yazma erişimine sahip olması çok olası değildir, bu nedenle bu gereklilik muhtemelen bu tekniği kötüye kullanmanızı engelleyecektir.
Bu gereklilikleri karşılıyorsanız, disable_functions'ı atlamak için nasıl devam edeceğinizi öğrenmek için bu gönderiyi okumaya devam edin https://antichat.com/threads/70763/. İşte bir özet:
dl fonksiyonu, PHP uzantılarını dinamik olarak yüklemek için kullanılır. PHP uzantıları, genellikle C/C++ ile yazılmıştır ve PHP'nin işlevselliğini artırır. Saldırgan, dl fonksiyonunun devre dışı bırakılmadığını fark ettiğinde, sistem komutlarını çalıştırmak için özel bir PHP uzantısı oluşturmaya karar verir.
Saldırganın Aldığı Adımlar:
- PHP Sürüm Belirleme:
- Saldırgan, bir script kullanarak PHP sürümünü belirler (<?php echo 'PHP Version is '.PHP_VERSION; ?>).
- PHP Kaynağını Temin Etme:
- Resmi PHP web sitesinden veya sürüm eskiyse arşivden PHP kaynağını indirir.
- Yerel PHP Kurulumu:
- Belirli PHP sürümünü sistemine çıkarır ve kurar.
- Uzantı Oluşturma:
- PHP uzantıları oluşturmayı inceler ve PHP kaynak kodunu gözden geçirir.
- ext/standard/exec.cdosyasındaki exec fonksiyonunun işlevselliğini kopyalamaya odaklanır.
Özel Uzantıyı Derleme Notları:
- ZEND_MODULE_API_NO:
- bypass.cdosyasındaki- ZEND_MODULE_API_NO, mevcut Zend Uzantı Derlemesi ile eşleşmelidir, şu şekilde alınabilir:
php -i | grep "Zend Extension Build" |awk -F"API4" '{print $2}' | awk -F"," '{print $1}'
- PHP_FUNCTION Değişikliği:
- Son PHP sürümleri (5, 7, 8) için PHP_FUNCTION(bypass_exec)ayarlama gerektirebilir. Sağlanan kod parçası bu değişikliği detaylandırır.
Özel Uzantı Dosyaları:
- bypass.c:
- Özel uzantının temel işlevselliğini uygular.
- php_bypass.h:
- Uzantı özelliklerini tanımlayan başlık dosyası.
- config.m4:
- Özel uzantı için yapılandırma ortamını ayarlamak üzere phpizetarafından kullanılır.
Uzantıyı Derleme:
- Derleme Komutları:
- Uzantıyı derlemek için phpize,./configurevemakekullanır.
- Ortaya çıkan bypass.so, modüller alt dizininde bulunur.
- Temizlik:
- Derlemeden sonra make cleanvephpize --cleankomutlarını çalıştırır.
Kurban Sunucusunda Yükleme ve Çalıştırma:
- Sürüm Uyumluluğu:
- Saldırganın ve kurbanın sistemleri arasında PHP API sürümlerinin eşleştiğinden emin olur.
- Uzantı Yükleme:
- dlfonksiyonunu kullanarak, kısıtlamaları aşmak için göreli yollar veya süreci otomatikleştiren bir script kullanır.
- Script Çalıştırma:
- Saldırgan, bypass.sove bir PHP scriptini kurbanın sunucusuna yükler.
- Script, bypass.so'yu dinamik olarak yüklemek içindl_localfonksiyonunu kullanır ve ardındancmdsorgu parametresi aracılığıyla geçirilen bir komut ilebypass_exec'i çağırır.
Komut Çalıştırma:
- Saldırgan artık komutları şu şekilde çalıştırabilir: http://www.example.com/script.php?cmd=<command>
Bu ayrıntılı kılavuz, sistem komutlarını çalıştırmak için bir PHP uzantısı oluşturma ve dağıtma sürecini, dl fonksiyonunu kötüye kullanarak, açıklamaktadır; bu tür güvenlik ihlallerini önlemek için ideal olarak devre dışı bırakılmalıdır.
tip
AWS Hacking'i öğrenin ve pratik yapın: HackTricks Training AWS Red Team Expert (ARTE)
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın:  HackTricks Training GCP Red Team Expert (GRTE)
HackTricks Training GCP Red Team Expert (GRTE) Azure Hacking'i öğrenin ve pratik yapın:
Azure Hacking'i öğrenin ve pratik yapın:  HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter'da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.
 HackTricks
HackTricks