hacktricks/pentesting-web/email-injections.md
Translator workflow 75e8745ba3 Translated to Hindi
2023-11-06 08:38:02 +00:00

16 KiB

ईमेल इंजेक्शन


Trickest का उपयोग करके आसानी से वर्कफ़्लो बनाएं और संचालित करें, जो दुनिया के सबसे उन्नत समुदाय उपकरणों द्वारा संचालित होते हैं।
आज ही पहुंच प्राप्त करें:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

भेजे गए ईमेल में इंजेक्शन करें

भेजने वाले तर्क के बाद 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 के मूल्य के आधार पर अलग-अलग विकल्पों की खोज की गई हैं जिनका दुरुपयोग करके फ़ाइलों को लीक किया जा सकता है या फिर अनियमित कमांड्स को निष्पादित किया जा सकता है। देखें कैसे https://exploitbox.io/paper/Pwning-PHP-Mail-Function-For-Fun-And-RCE.html में।

ईमेल नाम में इंजेक्शन करें

ईमेल के अनदेखे हिस्से

चिह्न: +, - और {} असामान्य मौकों पर टैगिंग के लिए उपयोग किए जा सकते हैं और अधिकांश ईमेल सर्वर द्वारा अनदेखा किए जाते हैं

दोनों ओर से ब्रैकेट्स () के बीच टिप्पणियां भी अनदेखी की जाएंगी

व्हाइटलिस्ट बाईपास

उद्धरण

आईपी

आप वर्गाकार ब्रैकेट्स के बीच डोमेन के रूप में आईपी भी उपयोग कर सकते हैं:

  • 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" %}