1. 程式人生 > >PrestaShop 網站漏洞修復辦法

PrestaShop 網站漏洞修復辦法

漏洞 lin stash 經歷 反序列化 裏的 ima linux 序列

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