
होटल और पर्यटन आरक्षण प्रणाली 1.0 में संग्रहीत XSS भेद्यता के लिए प्रूफ-ऑफ-कॉन्सेप्ट, जो बिना प्रमाणीकरण के इंजेक्शन और एडमिन सत्र अपहरण का प्रदर्शन करता है।
| फ़ील्ड | विवरण |
|---|
| शीर्षक | होटल और पर्यटन आरक्षण प्रणाली - संग्रहीत क्रॉस-साइट स्क्रिप्टिंग (XSS) |
| CVE ID | असाइनमेंट लंबित |
| विक्रेता | code-projects.org |
| विक्रेता URL | https://code-projects.org/hotel-and-tourism-reservation-in-php-with-source-code/ |
| उत्पाद | होटल और पर्यटन आरक्षण प्रणाली |
| संस्करण | 1.0 |
| भेद्यता प्रकार | संग्रहीत क्रॉस-साइट स्क्रिप्टिंग |
| CWE | CWE-79 |
| CVSS स्कोर | 8.3 (उच्च) |
| CVSS वेक्टर | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:L |
| प्रभावित एंडपॉइंट (इंजेक्शन) | /ht/tour.php |
| प्रभावित एंडपॉइंट (ट्रिगर) | /ht/admin/tour_reserves.php |
| प्रमाणीकरण आवश्यक | नहीं (इंजेक्शन) / हाँ (ट्रिगर) |
| दूरस्थ शोषण योग्य | हाँ |
| शोधकर्ता | सैयद इमाद उद्दीन अल्वी |
होटल और पर्यटन आरक्षण प्रणाली 1.0 की टूर बुकिंग कार्यक्षमता में एक संग्रहीत क्रॉस-साइट स्क्रिप्टिंग (XSS) भेद्यता मौजूद है। एक अनधिकृत हमलावर /ht/tour.php पर बुकिंग फॉर्म फ़ील्ड में मनमाना JavaScript इंजेक्ट कर सकता है। दुर्भावनापूर्ण पेलोड बिना सैनिटाइज़ेशन के डेटाबेस में संग्रहीत हो जाता है। जब कोई व्यवस्थापक /ht/admin/tour_reserves.php पर टूर आरक्षण प्रबंधन पृष्ठ पर जाता है, तो संग्रहीत पेलोड व्यवस्थापक के ब्राउज़र संदर्भ में निष्पादित होता है — जिससे सत्र अपहरण, क्रेडेंशियल चोरी, या पूर्ण व्यवस्थापक खाता अधिग्रहण संभव हो जाता है।
फ़ाइल: tour.php (इंजेक्शन बिंदु)
फ़ाइल: admin/tour_reserves.php (निष्पादन बिंदु)
पैरामीटर: name , email , people , number / संपर्क फ़ील्ड (POST)
भंडारण: hotel_db — टूर आरक्षण तालिका
सेटअप: XAMPP पर होटल और पर्यटन आरक्षण प्रणाली 1.0 स्थापित करें और http://<target>/ht/ पर एक्सेस करें
चरण 1 — एक अनधिकृत उपयोगकर्ता के रूप में टूर बुकिंग पृष्ठ पर नेविगेट करें:
http://<target>/ht/tour.php?tour=4
चरण 2 — नाम फ़ील्ड या किसी भी फ़ील्ड में XSS पेलोड दर्ज करें (सभी फ़ील्ड XSS के लिए संवेदनशील हैं), फिर Book Now पर क्लिक करें:
<script>alert(1)</script>
परिणाम: "Reservation successfully made!" — पेलोड अब डेटाबेस में संग्रहीत है।

चरण 3 — व्यवस्थापक के रूप में लॉग इन करें और टूर आरक्षण पैनल पर नेविगेट करें:
http://<target>/ht/admin/tour_reserves.php
परिणाम: संग्रहीत XSS पेलोड व्यवस्थापक के ब्राउज़र संदर्भ में तुरंत निष्पादित होता है।

एक अनधिकृत हमलावर यह कर सकता है:
tour.php पर बुकिंग फॉर्म उपयोगकर्ता इनपुट को बिना सैनिटाइज़ेशन के सीधे डेटाबेस में संग्रहीत करता है। tour_reserves.php पर व्यवस्थापक पैनल संग्रहीत मान को बिना आउटपुट एन्कोडिंग के HTML प्रतिक्रिया में कच्चा प्रतिध्वनित करता है, जिससे इंजेक्टेड स्क्रिप्ट निष्पादित हो सकती हैं।
// आउटपुट पर — रेंडर करने से पहले हमेशा एन्कोड करें
echo htmlspecialchars($reservation['name'], ENT_QUOTES, 'UTF-8');
** इमाद अल्वी** — स्वतंत्र सुरक्षा शोधकर्ता GitHub: Xmyronn