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,这里设置为关闭,对网站的上传功能加强安全过滤,过滤非法参数的插入,对网站的漏洞代码进行功能性的注释。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。