3

メールをキャプチャする単純な php ファイルがあります。これらの電子メールを csv ファイル (php では実行できません) にドロップします。最近、私たちのサイトをハッキングした人物がいて、これが侵入口の 1 つに思えましたが、どうやってそれが可能かわかりません。スクリプトは次のとおりです。

$fh = fopen('cap.csv', 'a+');
fwrite($fh, "\r".$_GET['email']);
fclose($fh);

かなり基本的ですよね?とにかくこれを悪用するために考えられることはありますか?

4

4 に答える 4

3

はい、しかしおそらくあなたが探しているものではありません。

私ができる唯一のことは次のとおりです。

  1. ファイルに何でも追加します。追加のみ。
  2. (オプション/おまけ) ファイルを保護していない場合は、ファイルを直接開き、すべての電子メール アドレスを盗みます。

ただし、何も実行したり、何かにアクセスしたりすることはできません。(それを処理して、どこかでリークを引き起こさない限り)。それでも - これを安全にしましょう!

于 2011-06-14T13:05:29.403 に答える
2

あなたが私たちに示したコードは、csvファイルに何かを入れるためにのみ使用できます(変数を検証/検証しないと仮定し$_GET['email']ます)が、PHPコードをそのように挿入して実行することはできません.

悪用された csv ファイルで動作するスクリプトを持っているかもしれません。

于 2011-06-14T13:13:53.207 に答える
1

与えられたコードについて今考えられる唯一のことは、NullByte 攻撃ベクトルです (ただし、それらが現在のバージョンの PHP で機能するか、コードに適用されるかさえわかりません)。$_GET を使用しているため、eMail パラメーターを介した攻撃はサーバーのログ ファイルに表示されるはずです。

疑わしい電子メール文字列がないかログ ファイルを確認します。

http://example.com?email=foo\0somethingmalicious

および同様のもの。

于 2011-06-14T13:15:33.423 に答える
0

投稿したコードは、入力データをあまりサニタイズしないことを示唆しています。そのため、ソフトウェアの他の部分でも同様の問題が発生している可能性があります。

次に、アプリケーション内で csv ファイルを実行しなくても、そこに PHP コードを挿入することができます。

そのため、入力データを適切にチェックせず、サーバー上のファイルをインクルードし、問題の csv ファイルをインクルードするために悪用される可能性のある別のホールがアプリケーションにある場合、リモートでコードが実行される可能性があります。

于 2011-06-14T13:31:43.397 に答える