16 KiB
ईमेल इंजेक्शन
Trickest का उपयोग करके आसानी से वर्कफ़्लो बनाएं और संचालित करें, जो दुनिया के सबसे उन्नत समुदाय उपकरणों द्वारा संचालित होते हैं।
आज ही पहुंच प्राप्त करें:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- क्या आप किसी साइबर सुरक्षा कंपनी में काम करते हैं? क्या आप चाहते हैं कि आपकी कंपनी HackTricks में विज्ञापित हो? या क्या आपको PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का उपयोग करने की अनुमति चाहिए? सदस्यता योजनाएं की जांच करें!
- The PEASS Family की खोज करें, हमारा विशेष NFT संग्रह
- आधिकारिक PEASS & HackTricks swag प्राप्त करें
- 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या मुझे Twitter 🐦@carlospolopm** का पालन करें**.
- अपने हैकिंग ट्रिक्स को hacktricks repo और hacktricks-cloud repo में PR जमा करके साझा करें।
भेजे गए ईमेल में इंजेक्शन करें
भेजने वाले तर्क के बाद Cc और Bcc में इंजेक्शन करें
From:sender@domain.com%0ACc:recipient@domain.co,%0ABcc:recipient1@domain.com
यह संदेश प्राप्तकर्ता और प्राप्तकर्ता1 खातों को भेजा जाएगा।
तर्क इंजेक्शन करें
From:sender@domain.com%0ATo:attacker@domain.com
संदेश मूल प्राप्तकर्ता और हमलावर खाते को भेजा जाएगा।
विषय तर्क को इंजेक्ट करें
From:sender@domain.com%0ASubject:This is%20Fake%20Subject
जाली विषय को मूल विषय में जोड़ा जाएगा और कुछ मामलों में इसे बदल दिया जाएगा। यह मेल सेवा के व्यवहार पर निर्भर करेगा।
संदेश के शरीर को बदलें
दो-पंक्ति फीड इंजेक्ट करें, फिर अपना संदेश लिखें ताकि संदेश के शरीर को बदल सकें।
From:sender@domain.com%0A%0AMy%20New%20%0Fake%20Message.
PHP mail() फ़ंक्शन का उपयोग
The PHP mail()
function is commonly used to send emails from a web application. However, if not properly secured, it can be vulnerable to email injection attacks. Email injection occurs when an attacker is able to manipulate the email headers and inject malicious content into the email.
PHP mail()
फ़ंक्शन आमतौर पर वेब एप्लिकेशन से ईमेल भेजने के लिए उपयोग किया जाता है। हालांकि, यदि इसे सुरक्षित नहीं किया गया है, तो यह ईमेल इंजेक्शन हमलों के लिए संक्रमित हो सकता है। ईमेल इंजेक्शन तब होता है जब हमलावर ईमेल हैडर्स को मानिपुरेट करके ईमेल में दुष्ट सामग्री इंजेक्ट कर सकता है।
Exploiting Email Injection Vulnerabilities
To exploit an email injection vulnerability, an attacker can craft a malicious payload that includes additional email headers. These headers can be used to modify the recipient, subject, or even inject additional recipients into the email.
ईमेल इंजेक्शन संकट का उपयोग करने के लिए, हमलावर एक दुष्ट पेलोड तैयार कर सकता है जिसमें अतिरिक्त ईमेल हैडर्स शामिल होते हैं। इन हैडर्स का उपयोग प्राप्तकर्ता, विषय या ईमेल में अतिरिक्त प्राप्तकर्ताओं को बदलने के लिए किया जा सकता है।
Example of Email Injection
Here is an example of a vulnerable PHP code that uses the mail()
function without proper input validation:
यहां एक ऐसा PHP कोड का उदाहरण है जो सही इनपुट मान्यता के बिना mail()
फ़ंक्शन का उपयोग करता है:
<?php
$to = $_POST['to'];
$subject = $_POST['subject'];
$message = $_POST['message'];
mail($to, $subject, $message);
?>
In this example, the values for the recipient ($to
), subject ($subject
), and message ($message
) are directly taken from user input without any validation. This allows an attacker to manipulate these values and inject additional email headers.
इस उदाहरण में, प्राप्तकर्ता ($to
), विषय ($subject
) और संदेश ($message
) के लिए मान उपयोगकर्ता इनपुट से सीधे लिए जाते हैं बिना किसी मान्यता के। इससे हमलावर को इन मानों को मानिपुरेट करने और अतिरिक्त ईमेल हैडर्स इंजेक्ट करने की अनुमति मिलती है।
Prevention Techniques
To prevent email injection attacks, it is important to properly validate and sanitize user input before using it in the mail()
function. This can be done by:
- Validating and sanitizing user input using appropriate functions or regular expressions.
- Using whitelisting techniques to only allow specific characters or patterns in the input.
- Implementing proper input validation and sanitization measures throughout the application.
ईमेल इंजेक्शन हमलों को रोकने के लिए, mail()
फ़ंक्शन में उपयोग करने से पहले उपयोगकर्ता इनपुट की सही मान्यता और सैनिटाइज़ेशन करना महत्वपूर्ण है। इसे निम्नलिखित तकनीकों द्वारा किया जा सकता है:
- उपयुक्त फ़ंक्शन या नियमित अभिव्यक्तियों का उपयोग करके उपयोगकर्ता इनपुट की मान्यता और सैनिटाइज़ेशन करना।
- इनपुट में केवल विशिष्ट वर्ण या पैटर्न की अनुमति देने के लिए व्हाइटलिस्टिंग तकनीक का उपयोग करना।
- एप्लिकेशन के लिए सही मान्यता और सैनिटाइज़ेशन उपायोग करना।
# The function has the following definition:
php --rf mail
Function [ <internal:standard> function mail ] {
- Parameters [5] {
Parameter #0 [ <required> $to ]
Parameter #1 [ <required> $subject ]
Parameter #2 [ <required> $message ]
Parameter #3 [ <optional> $additional_headers ]
Parameter #4 [ <optional> $additional_parameters ]
}
}
पांचवां पैरामीटर ($अतिरिक्त_पैरामीटर)
इस खंड में हम इस पैरामीटर का दुरुपयोग कैसे कर सकते हैं यह मानकित करेंगे जब किसी हमलावर के पास इसका नियंत्रण होता है।
यह पैरामीटर PHP द्वारा बाइनरी सेंडमेल को आमंत्रित करने के लिए उपयोग किए जाने वाले कमांड लाइन में जोड़ा जाएगा। हालांकि, इसे फ़ंक्शन escapeshellcmd($अतिरिक्त_पैरामीटर)
के साथ सैनिटाइज़ किया जाएगा।
इस मामले में एक हमलावर सेंडमेल के लिए अतिरिक्त पैरामीटर्स को इंजेक्ट कर सकता है।
/usr/sbin/sendmail के अंतर
sendmail इंटरफ़ेस MTA ईमेल सॉफ़्टवेयर (Sendmail, Postfix, Exim आदि) द्वारा प्रदान किया जाता है जो सिस्टम पर स्थापित होता है। हालांकि, मुख्य कार्यक्षमता (-t -i -f पैरामीटर जैसे) संगतता के कारण एक ही रहती है, अन्य फ़ंक्शन और पैरामीटर MTA के स्थापित होने पर बहुत अधिक भिन्न हो सकते हैं।
यहां कुछ उदाहरण हैं sendmail कमांड/इंटरफ़ेस के विभिन्न मैन पेज के:
- Sendmail MTA: http://www.sendmail.org/~ca/email/man/sendmail.html
- Postfix MTA: http://www.postfix.org/mailq.1.html
- Exim MTA: https://linux.die.net/man/8/eximReferences
sendmail के मूल्य के आधार पर अलग-अलग विकल्पों की खोज की गई हैं जिनका दुरुपयोग करके फ़ाइलों को लीक किया जा सकता है या फिर अनियमित कमांड्स को निष्पादित किया जा सकता है। देखें कैसे https://exploitbox.io/paper/Pwning-PHP-Mail-Function-For-Fun-And-RCE.html में।
ईमेल नाम में इंजेक्शन करें
ईमेल के अनदेखे हिस्से
चिह्न: +, - और {} असामान्य मौकों पर टैगिंग के लिए उपयोग किए जा सकते हैं और अधिकांश ईमेल सर्वर द्वारा अनदेखा किए जाते हैं
दोनों ओर से ब्रैकेट्स () के बीच टिप्पणियां भी अनदेखी की जाएंगी
- उदा। john.doe(intigriti)@example.com → john.doe@example.com
व्हाइटलिस्ट बाईपास
उद्धरण
आईपी
आप वर्गाकार ब्रैकेट्स के बीच डोमेन के रूप में आईपी भी उपयोग कर सकते हैं:
- john.doe@[127.0.0.1]
- john.doe@[IPv6:2001:db8::1]
अन्य सुरक्षा दुर्बलताएं
तृतीय पक्ष SSO
XSS
कुछ सेवाएं जैसे github या salesforce आपको एक XSS पेलोड के साथ ईमेल पता बनाने की अनुमति देती हैं। यदि आप इस प्रदाताओं का उपयोग करके अन्य सेवाओं में लॉगिन कर सकते हैं और यह सेवाएं ईमेल को सही ढंग से सैनिटाइज़ नहीं कर रही हैं, तो आप XSS का कारण बन सकते हैं।
खाता अधिकार
यदि SSO सेवा आपको दिए गए ईमेल पते की पुष्टि किए बिना खाता बनाने की अनुमति देती है (जैसे salesforce) और फिर आप उस खाते का उपयोग करके एक अलग सेवा में लॉगिन कर सकते हैं जो salesforce का विश्वास करती है, तो आप किसी भी खाते तक पहुंच सकते हैं।
ध्यान दें कि salesforce द्वारा दिए गए ईमेल की पुष्टि की जाती है लेकिन ऐप्लिकेशन को इस जानकारी का ध्यान रखना चाहिए।
जवाब-को
आप From: company.com और Replay-To: attacker.com का उपयोग करके एक ईमेल
Trickest का उपयोग करके आसानी से वर्कफ़्लो बनाएं और संचालित करें, जो दुनिया के सबसे उन्नत समुदाय उपकरणों द्वारा संचालित होते हैं।
आज ही पहुंच प्राप्त करें:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}