标签:安全 漏洞 电子商务 ShopEX Access denied by install.lock 添加标签>>
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。 http://jimmyli.jimmyli.jimmyli.blog.51cto.com/3190309/631436
惊爆漏洞ShopEX 4.8.5隐患漏洞,最终解决方法,ShopEX 4.8.4 安装完成后打开显示:Access denied by install.lock
新版的ShopEX 4.8.4需要网站文件目录有相应的目录匿名访问的权限,同时还要,shopex所在目录的上一级目录匿名访问的权限。
例如你目录d:\wwwroot\shopex ,它还需要wwwroot目录匿名访问的权限。
这样直接导致了,N多同学安装后,无法正常用shopex ,就是上面的原因。
同时,N多同学也是用的是虚拟主机。安全级别设置高的虚拟主机,安全策略做得严谨的,那么上级目录是没有目录匿名访问的权限的。给你一个虚拟主机开这样的权限,虚拟主机提供方,一般会给你吐血的答复“空间能够正常运行PHP,PHP探针运行正常,DZ论坛也能正常安装运行,请检查你程序自身是否纯在问题”
要么,有得同学,直接来个权限“Everyone”,他非常高兴,程序运行正常了。固果然聪明,殊不知这样的设置,留下的是一个菜鸟在***网站下载些******工具,就能轻易***网站,设置webshell权限提权拿到服务器更高的权限,跨站***,跨站提权,就是这样形成的。

ShopEX 4.8.4 ShopEX 4.8.5 安装完成后打开显示:Access denied by install.lock
解决办法:
(1)给你shopex所在目录的上一级目录匿名访问的权限就可以了,不是知道程序在遍历查询什么,没有上一级的权限就会出这个错误。
(2)办法1.解决ShopEX 4.8.4 Access denied by install.lock的问题也许可行,但如果在服务器上面给上一级目录匿名访问的权限有可能导致安全问题的,服务器目录权限都是设置到每个目录,建议还是把file_exists('config/config.php')改为include('config/config.php'),同时把require('config/config.php');给删了来的直接。//ShopEX 4.8.5行不通的
或者提示错误
Fatal error: require() [function.require]: Failed opening required '/core/include_v5/shopCore.php' (include_path='.;C:\php5\pear') in D:\gbshop\wwwroot\index.php on line 18
或者提示错误
Warning: require(/core/include/shopCore.php) [function.require]: failed to open stream: No such file or directory in D:\gbshop\wwwroot\index.php on line 8
--------------------------------------------------------------------------------------------
公布Access denied by install.lock解决方法!
昨天调试了半天的shopex ,无论咋装都是Access denied by install.lock 错误,当前版本 4.8.4.21277 。shopex4.8.5。但我在本地安装却没问题,哎,服务器的问题百出啊,技术还是不行。
今天再找找原因,不行就用动易好了。
后来试着把程序放在本地,数据库放在服务器,耶,这次这个版本4.8.4.21277 终于装上了。可以判断是服务器权限的问题。给PHP和mysql目录加上everyone的权限,没用!再试给虚拟目录加上system,everyone目录的权限,程序也换成 ShopExV481_PhpWindV7.zip 就是那个带论坛的。OK!首页成功显示,告别Access denied by install.lock 错误!
 
 
经过几次安装,终于发现是index.php这个文件有问题,于是用带论坛版的覆盖,补丁文件见附件,直接上传覆盖到根目录即可!
index.rar
index.php http://jimmyli.jimmyli.jimmyli.blog.51cto.com/3190309/631436
--------------------------------------------------------------------------------------------
define('PERPAGE',10);
define('RUN_IN','FRONT_END');
ob_start();
error_reporting( E_ERROR | E_WARNING | E_PARSE );
if(include('config/config.php')){
 ob_end_clean();
 require(CORE_DIR.'/include/shopCore.php');
 new shopCore();
}else header('Location: install/');
?>

--------------------------------------------------------------------------------------------
实质是将index文件换成一个shopex低版本的index文件。//ShopEX 4.8.5行不通的,换汤不换药!

最终解决方法:
只有将shopex文件目录往后移动一层。例如d:\wwwroot\是虚拟主机总的网站目录,d:\wwwroot\shopex 是其中一个虚拟机网站目录,将移动到d:\wwwroot\shopex\shopex,虚拟主机目录指向d:\wwwroot\shopex\shopex,保留d:\wwwroot\shopex的目录匿名访问的权限。
 
可见ShopEX 4.8.5留给使用者的漏洞尾巴,确实不少。同时未知的隐患,肯定还更多。

[全文]