2011-04-21 73 views
2

很遗憾,我再一次在Linux Plesk服务器上处理被黑网站。虽然这个问题已经修正了FTP访问的改变(它涉及到PC上着名的Filezilla FTP代码),但我很想知道如何编辑文件,因为它可能需要一个多小时才能将站点恢复到最近的备份我们有,我很乐意让它更快地恢复在线。 黑客相当简单:在网站中的许多索引*(只有index.php似乎)文件中插入了JavaScript代码。 我正在寻找一种方式来大规模编辑被黑客入侵的文件,知道即使目标JavaScript代码是相同的,它也可能是从一些也可能被黑客入侵的网站调用的。因此,虽然用了我合法的索引文件与Linux命令行:编辑被黑客入侵的索引文件

<?php 

现在开始喜欢

<script type="text/javascript" src="http://(RANDOMDOMAINHERE)/facebook.php"></script><?php 

作为该链包含一个变量开始,你能不能帮我找到一个安全可靠的方法编辑所有的改变索引文件(找到约80个)? 我以前用过SED替换,但是这次替换链的一部分变化很大,所以我可以用通配符吗? 最好的问候,谢谢光芒!

+0

@sehe其实,我downvoted答案并且坦率地说是煽动性的。 OP有很多问题需要处理被黑客入侵的服务器,其中包括修复这个问题所涉及的损害。也许OP应该编辑帖子,说出“我确定并删除了这个漏洞”,以便从社区获得合法的帮助。 – poundifdef 2011-04-21 22:31:52

+0

我很欣赏你低估了它。无害。我会删除在OP的snarky评论。然而,我觉得这两个答案都是为了防止进一步的危害和损害而作出的。我确实认为从那里开始另一个答案是没有用的。 – sehe 2011-04-21 22:35:35

+0

这个美妙的网站是为了帮助像我这样的人提高他们的知识,例如正则表达式和cli工具,而不是接受半智慧和无用的悲观评论,帮助任何人。 – Denis 2011-04-21 22:36:52

回答

-1

我会在解决这个问题之前解决跨边界脚本攻击,否则它将全部徒劳。当这样做了一个简单的搜索并替换包含一个公共字符串的脚本块应该就足够了。

+2

“我会修复交叉方脚本利用之前,解决这个问题,否则将是徒劳的“。这确实是有道理的,我也在这方面工作。一旦处理完了,我很高兴看到一个 的例子“简单的搜索和替换包含一个普通字符串的脚本块”。 – Denis 2011-04-21 22:11:55

+0

只是为了澄清,黑客确实*不*发生在我们的服务器端,并在技术上是一个合法帐户的未经授权的访问,因为服务器的网站上发生的变化发生在黑客窃取的Windows PC上的证书,显然在Filezilla未加密存储证书。感谢您的有效帮助。 – Denis 2011-12-01 20:16:56

1

我真诚地希望您不要实际管理生产域。您应该通知您的用户,解决问题,并提供用户返回到最近没有发现问题的备份。

不知道还有什么被篡改的。

我很高兴我的VPS在别的地方!

+2

不知道我在哪一点上询问了一个你一无所知的背景下的建议。没有生产站点,也没有用户应该担心的用户。是的,我确实在托管我工作的单个测试域的服务器上遇到安全问题,所以这个问题是关于批量编辑文件的帮助,没有别的。我没有投下任何答案,但很高兴有人认为你应该是。 – Denis 2011-04-21 22:32:19

+0

我想我错误地解释了'不幸再次处理...'和'(约80发现)',假设有80个不同的网站:) Sry回合说。 (_I回到我的建议,但由于它是无用的,我发布了一个真正的答案) – sehe 2011-04-21 22:42:39

3
find -name 'index.php' -print0 | 
    xargs -0 sed -i '1s#^<script type="text/javascript" src="http://.*\?/facebook.php"></script>##g' 

应该做的奇迹

sed命令:

  • 1(在第一行匹配)
  • s#pattern#replacement#g(由替换替换模式,而不是后者为空)
  • ^必须匹配在行首
  • .*\?接受任意长度的字符序列;然而,如果超过一个匹配整个模式可以进行,只是因为他们不回答楼主的问题,与之相匹配的

干杯最短的变种

+0

missid -i标志,现在编辑 – sehe 2011-04-21 22:43:16

+0

@poundifdef:谢谢你捕捉:这是一个糟糕的SO-习惯用'反引号'......我将开始观察(第一次发生) – sehe 2011-04-21 22:49:36

+0

并将其分解:'xargs'将'find'返回的每个结果作为'sed'中的参数使用。 '-i'执行文件的原地替换(作为参数通过xargs传递给sed)。和正则表达式......好吧,其他人将不得不阐明这个正则表达式的工作原理! – poundifdef 2011-04-21 22:55:29

相关问题