PrestaShop 網站漏洞修復辦法
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 網站漏洞修復辦法