完成后删除自身的php脚本

时间:2011-09-17 19:01:12

标签: php file-io

我正在调查一个问题:在一个同事离开后,一天晚上他创建的一些文件,基本上他所有关于一个已经完成的项目的工作,老板没有付钱给他,被删除了。据我所知,所有访问凭据都已更改。

是否可以通过设置文件来执行删除任务然后删除相关文件?或类似的东西会在任务完成后改变代码?这难以追踪吗? (我认为他可以巧妙地将请求伪装成一个正常的请求,我已经浏览了代码库并通过原始访问日志而没有找到任何内容)。

2 个答案:

答案 0 :(得分:8)

无法判断这是否实际发生,但设置删除文件的机制是微不足道的。

这对我有用:

<? // index.php
   unlink("index.php"); 

设置一个脚本是一件小事,如果给定某个GET变量,它将删除自身和许多其他文件。

除了服务器访问日志之外,我不知道如何跟踪它 - 但是,根据您的操作系统和文件系统,取消删除实用程序可能能够恢复文件。

评论中已经说过如何防止这种情况 - 使用集中式源代码控制和备份。 (当然还要付给你的开发者 - 虽然这种事情可能发生在任何人身上。)

答案 1 :(得分:3)

  

可以通过设置文件来执行删除任务   然后删除有问题的文件?

是的。他本可以在服务器上留下一个看似狡猾的php文件,以后通过网络访问时会给他shell访问权限。可以在完成后将此文件自行删除。

创建一个包含以下内容的php文件:

<?php
    if ($_GET['vanish'] == 'y') {
        echo "You wouldn't find me the next time you look!";
        @unlink(preg_replace('!\(\d+\)\s.*!', '', __FILE__));
    } else {
        echo "I can self destruct ... generally";
    }
?>

穿上您的服务器并导航到它。然后使用“vanish = y”参数再次导航,看看会发生什么