phar:// deserialization
Ödül avı ipucu: Intigriti'ye kaydolun, hackerlar tarafından oluşturulan premium bir ödül avı platformu! Bugün bize katılın https://go.intigriti.com/hacktricks ve $100,000'a kadar ödüller kazanmaya başlayın!
Phar dosyaları (PHP Arşivi) serileştirilmiş biçimde meta veri içerir, bu nedenle ayrıştırıldığında bu meta veri serileştirilir ve PHP kodu içinde bir serileştirme zafiyetini kötüye kullanmaya çalışabilirsiniz.
Bu özelliğin en iyi yanı, bu serileştirme işleminin file_get_contents(), fopen(), file() veya file_exists(), md5_file(), filemtime() veya filesize() gibi PHP kodunu değerlendirmeyen PHP işlevlerini kullanarak bile gerçekleşecek olmasıdır.
Dolayısıyla, phar://
protokolünü kullanarak bir PHP web sitesinin bir dosyanın boyutunu almasını sağlayabileceğiniz bir durumu hayal edin ve kod içinde aşağıdaki gibi bir sınıf bulursunuz:
phar dosyası oluşturabilirsiniz ve yüklendiğinde bu sınıfı kötüye kullanarak şöyle bir şey yapabilirsiniz:
Not alınan dosyanın başına JPG'nin sihirli baytları (\xff\xd8\xff
) eklenerek mümkün olabilecek dosya yükleme kısıtlamaları atlatılır.
test.phar
dosyasını şu şekilde derleyin:
Ve whoami
komutunu kötü niyetli kodu istismar ederek çalıştırın:
Referanslar
Hata ödülü ipucu: Intigriti'ye kaydolun, hackerlar tarafından oluşturulan bir premium hata ödülü platformu! Bugün bize katılın https://go.intigriti.com/hacktricks ve $100,000'a kadar ödüller kazanmaya başlayın!
Last updated