PrestaShop網站的漏洞越來越多,該網站系統是許多外貿網站在使用的一個開源系統,從之前的1.0初始版本到現在的1.7版本,經歷了多次的升級,系統使用的人也越來越多,國內使用該系統的外貿公司也很多,PrestaShop擴展性較高,模板也多,多種貨幣自由切換,並支持信用卡以及paypal支付,是外貿網站的首選。就在最近幾天,PrestaShop被爆出有遠端程式碼注入漏洞,該漏洞影響範圍較光,危害較大,可以上傳webshell到網站根目錄下。
2018年11月7號PrestaShop官方發布了最新的版本,並修復了網站的漏洞,其中包含了先前被爆出的檔案上傳漏洞,以及惡意刪除圖片資料夾的漏洞,該漏洞的利用條件是需要有網站的後台管理權限。
這次發現的PrestaShop漏洞,是遠端程式碼注入漏洞,漏洞產生的程式碼如下在後台的admin-dev目錄下filemanager檔案裡的ajax_calls.php程式碼,這個遠端的注入漏洞是後台處理上傳文件的功能導致的,程式碼裡的getimagesize()函數是獲取圖片地址的一個函數,該函數使用了php反序列化,這個反序列化存在遠程調用的一個功能,就是在這個函數裡存在遠程代碼注入與執行,我們構造惡意的注入程式碼對其圖片程式碼提交就會執行我們的程式碼,我們來示範一下,首先搭建一台linux伺服器,並搭建好apache mysql資料庫的環境,拷貝PrestaShop程式碼到伺服器中,進行安裝,並調試可以打開。
我們來嘗試如何利用該漏洞,在後台admin-rename目錄下的filemanager資料夾dialog.php的文件,進行調用,這個頁面就是控制上傳文件,上傳圖片的,使用action可以對上傳的參數進行安全控制,我們可以建構程式碼執行,admin-rename/filemanager/execute.php?action=rename_folder,post的方式進行提交,發送資料到這個檔案程式碼裡,利用PHP的反序列化就可以自動的解析程式碼,達到遠端程式碼注入執行的效果。
PrestaShop網站漏洞修復與辦法
升級PrestaShop的版本到最新版本,設定php.ini的解析功能為off具體是phar.readonly=off,這裡設定為關閉,對網站的上傳功能加強安全過濾,過濾非法參數的插入,對網站的漏洞程式碼進行功能性的註解。
以上是PrestaShop網站漏洞修復方法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!