ユーザーがファイルをアップロードして他のユーザーと共有できる Web サイトを持っています。しかし、まずそれらを確認する必要があります。最近、誰かが次のコマンドで .php ファイルをアップロードしました:
‰PNG
<?php
eval(gzinflate(base64_decode("very large strings of characters")));
?>
有害かもしれないと思ったので、開けませんでした。
誰がそれが何をするのか知っていますか?
ユーザーがファイルをアップロードして他のユーザーと共有できる Web サイトを持っています。しかし、まずそれらを確認する必要があります。最近、誰かが次のコマンドで .php ファイルをアップロードしました:
‰PNG
<?php
eval(gzinflate(base64_decode("very large strings of characters")));
?>
有害かもしれないと思ったので、開けませんでした。
誰がそれが何をするのか知っていますか?
誰もあなたに言うことはできません、ただやってください
<?php echo gzinflate(base64_decode("very large strings of characters")) ?>
それが何をするかを見るために....
編集:文字列全体を投稿したので、デコードしてここに貼り付けました
攻撃者のコードは base64 でエンコードされ、gzip されているようです。
したがって、最初にコードがbase64エンコーディングからデコードされ、次に基本的にコードの文字列まで解凍されます。
そして、結果の文字列に対して eval が呼び出され、デコードおよび解凍されたコードが実行されます。
しかし、どのコードが生成されるかを確認しないと、コードが実行されたときに何を行うかを判断するのは困難です。
エンコードされたテキストをデコードしました。次のアプローチを使用して
(今考えると、ファイルへの書き込みは悪い考えだったと思います。主にWindowsを使用している場合。実行ビットがオフになっているLinuxでは少し安全だと思います。したがって、この場合は幸運でした。 !)
<?php
$test = gzinflate(base64_decode("encoded_text"));
$myFile = "testFile.txt";
$fh = fopen($myFile, 'w');
fwrite($fh, $test);
fclose($fh);
ブラウザーにエコーするだけでコンピューターに感染する可能性のあるランダムなhtmlまたはjavascriptがあった場合に備えて、出力をファイルに書き込みました。そのため、ウイルス対策の警告が表示された可能性があります。
それが何をするのかはまだわかりません。
4,750 行のコードに目を通しただけで、Basic Auth が設定されているように見えます。そして、多くのデータベース機能といくつかの基本的な html インターフェイスがあります。これはPHPで。パールもあります。終わりに近い。
その画像が表示されるすべてのページは、そのコードの一部を出力し、コードと一緒に実行し、入力データを取得しようとするか、セッション データやデータベース値を見つけようとします。 .
次に、コードの他の部分は、基本的に、URL が次のようにアクセスされたときに管理インターフェイスを作成します: url?admin=1。これにより、基本認証認証が開始されます。そして、ユーザーがさまざまなクエリを試して、データベースに関するメタデータを収集できるシンプルなインターフェイス phpmyadmin のようなインターフェイスがあります。おそらく他のものも実行されます。
私は間違っているかもしれませんが、それは私がコードを通して得た要点です。
コードは問題ありません。注意する必要があるのは、暗号化された長い文字列だけです
< ?php eval(gzinflate(base64_decode("very large strings of characters")));
この種のステートメントの参照については、参照できます