
Responsive Filemanager < 9.12.0 के लिए PoC जो अपलोड प्रतिबंधों को दरकिनार कर RCE की ओर ले जाता है
Responsive Filemanager < 9.12.0 में अपलोड प्रतिबंधों को बायपास करके RCE प्राप्त करने के लिए PoC
जब हम नई फ़ाइल अपलोड करते हैं, तो हम fix_filename फ़ंक्शन से गुजरते हैं: https://github.com/trippo/ResponsiveFilemanager/blob/9a7411f3eab3b7d8e2c78dcf40b4325bde2c548d/filemanager/upload.php#L112
इस फ़ंक्शन में हमारे पास strip_tags फ़ंक्शन है जो कोष्ठकों को खोजता है और उन्हें हटा देता है: https://github.com/trippo/ResponsiveFilemanager/blob/9a7411f3eab3b7d8e2c78dcf40b4325bde2c548d/filemanager/include/utils.php#L581
इसलिए, हम shell.php<.txt जैसे फ़ाइलनाम वाली फ़ाइल भेज सकते हैं, जिसे strip_tags फ़ंक्शन के कारण shell.php में बदल दिया जाएगा।
लेकिन, फ़ाइल की सामग्री के आधार पर फ़ाइल प्रकार की एक अतिरिक्त जाँच भी होती है: https://github.com/trippo/ResponsiveFilemanager/blob/9a7411f3eab3b7d8e2c78dcf40b4325bde2c548d/filemanager/upload.php#L101
इसलिए, हम क्लासिक php शेल <?php system($_GET['c']);?> अपलोड नहीं कर सकते। लेकिन, हम एक छोटी सी चाल चल सकते हैं: फ़ंक्शन get_extension_from_mime फ़ाइल के पहले कुछ वर्णों के आधार पर काम करता है। इसलिए, यदि हम अपने पेलोड की शुरुआत कुछ 'a' वर्णों से करते हैं, तो इसे txt प्रकार के रूप में पहचाना जा सकता है।
shell.php<.txt करें

