2011-09-17 26 views
5

私が現在調査中の問題は、同僚が退職した後、彼が作成したいくつかのファイル、基本的に上司が彼に支払っていない完成プロジェクト、削除されました。私が知っていることから、すべてのアクセスクレデンシャルが変更されています。完了後に自分自身を削除するPHPスクリプト

ファイルを設定して削除タスクを実行して問題のファイルを削除することは可能ですか?または、タスクが完了した後にコードを変更する類似のもの?これは追跡不能ですか? (私は彼が巧みに要求を通常の要求として偽装している可能性があると思っています。コードベースと未処理のアクセスログをスキップして何も見つかりませんでした)。

+7

これは、ソース管理システムを使用する理由です。 – OrangeDog

+17

バージョンコントロールの上に、開発者にあなたの上司に支払うこともお勧めします。 :/ –

答えて

8

これが実際に起こったかどうかは分かりませんが、ファイルを削除するメカニズムを設定することは簡単です。

これが私の作品:

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

例えば特定のGET変数与えられた場合、自分自身や他のファイルの番号を削除するスクリプトを設定するにはケーキの一部になります。

サーバアクセスログを除いて、私はこれをトレースする方法を知らないのですが、あなたのOSやファイルシステムによっては、ファイルを回復できないユーティリティがあるかもしれません。

これはコメントの中で、これを防ぐ方法 - 集中管理されたソース管理とバックアップを使用しています。 (そしてもちろん、あなたの開発者を支払う - 。原料のこの種は、誰にでも起こることができます)

3

です削除タスク を行い、その後、問題のファイルを削除するファイルを設定することによってこれを行うことが可能ですか?

はいです。彼はWeb上で後でアクセスするとシェルにアクセスできるように、無知な探し方のPHPファイルをサーバ上に残すことができました。完了したら、このファイルを自己削除することができます。

ことで、次のと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"引数で再度ナビゲートし、何が起こるかを確認します。

関連する問題