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代码到服务器中,进行安装,并调试
可以打开。
漏洞是后台处理上传文件的功能导致的,代码里的getimagesize()函数是获取图片地址
的一个函数,该函数使用了php反序列化,这个反序列化存在远程调用的一个功能,就
是在这个功能里存在远程代码注入与执行,我们构造恶意的注入代码对其图片代码提
交就会执行我们的代码,我们来演示一下,首先搭建一台linux服务器,并搭建好
apache+mysql数据库的环境,拷贝PrestaShop代码到服务器中,进行安装,并调试
可以打开。
我们来尝试一下如何利用该漏洞,在后台admin-rename目录下的filemanager文件夹
dialog.php的文件,进行调用,这个页面就是控制上传文件,上传图片的,使用action可
以对上传的参数进行安全控制,我们可以构造代码执行,admin-rename/filemanager/
execute.php?action=rename_folder,post的方式进行提交,发送数据到这个文件代码
里,利用PHP的反序列化就可以自动的解析代码,达到远程代码注入执行的效果。
dialog.php的文件,进行调用,这个页面就是控制上传文件,上传图片的,使用action可
以对上传的参数进行安全控制,我们可以构造代码执行,admin-rename/filemanager/
execute.php?action=rename_folder,post的方式进行提交,发送数据到这个文件代码
里,利用PHP的反序列化就可以自动的解析代码,达到远程代码注入执行的效果。
PrestaShop网站漏洞修复与办法
升级PrestaShop的版本到最新版本,设置php.ini的解析功能为off具体是phar.readonly=
off,这里设置为关闭,对网站的上传功能加强安全过滤,过滤非法参数的插入,对网站的
漏洞代码进行功能性的注释。
off,这里设置为关闭,对网站的上传功能加强安全过滤,过滤非法参数的插入,对网站的
漏洞代码进行功能性的注释。