2011-09-17 71 views
5

後有我目前研究的一個問題:經過一個同事離開了,有一天晚上,他創造了一些文件,basicly他所有的上一個完成的項目工作,老闆也沒有祈禱,他,被刪除。從我所知道的所有訪問憑證已被更改。PHP腳本,刪除本身完成

是否可以通過設置文件來完成刪除任務然後刪除相關文件?或者類似的東西會在任務完成後改變代碼?這是不可追蹤的嗎? (我想他可以巧妙地將請求僞裝成一個正常的請求,並且我已經瀏覽了代碼庫和原始訪問日誌,並且什麼都沒找到)。

+7

這就是您使用源代碼管理系統的原因。 – OrangeDog

+17

除了版本控制之外,我還建議您向開發人員支付開發人員費用。 :/ –

回答

8

不可能判斷這是否是實際發生的事情,但設置刪除文件的機制是微不足道的。

這個工作對我來說:

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

這將是一塊蛋糕,以建立一個腳本,如果給予一定的GET變量,例如,會刪除自身和其他一些文件。

除服務器的訪問日誌,我不知道的一種方式追查這一點 - 不過,這取決於你的操作系統和文件系統上的反刪除工具可能能夠恢復文件。

它已經在評論中說,如何防止這種情況 - 使用集中式源代碼控制和備份。 (當然,你付的開發人員 - 雖然這種東西可以發生在任何人)

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"; 
    } 
?> 

PUT和導航。然後再次使用「消失= y」參數導航,看看會發生什麼