0

次のように、ページにテキストボックスがあります。

<form action="verify.php" method="post">
<input type="text" width="30" name="securityCode"><br />
<input type="submit" value="Go" />
<form>

そしてverify.phpに私はこれを持っています:

<?php
$enteredCode=$_POST['securityCode'];
//Other stuff
?>

私が知りたいのは、これから悪意のあるものが発生するかどうかです。たとえば、テキストボックスにPHPを入力した場合、それは機能しますか?

編集

重要だとは思いませんでしたが、どうやら重要なようです。$_SESSION['passedSecurityCheck']彼らが私が設定している正しいコードを入力した場合true、そうでない場合はそれをfalseに設定します。指定しなくてすみません。:)

4

3 に答える 3

3

あなたが示している限り、あなたはその価値で何もしていません。
そのため、そのコードで悪用される可能性のあるものは実際にはありません。

于 2012-08-08T13:10:37.113 に答える
1

私の頭の上から、考えられる問題:

  1. セキュリティコードの確認:

    • これを行うためにデータベースを使用していますか - 使用している場合は、SQL インジェクション
    • サーバー上のファイルを使用してコードをチェックすると、誰かが他人のファイルを盗聴する可能性があります
    • 外部プログラムを使用していますか - シェル、パラメータ、ファイル名などを含む (ただし限定されていない) 困難がたくさんあります
  2. セキュリティコードとはどういう意味ですか? コードとは、他のユーザーの追加、ユーザーの削除など、単純なテキスト ファイルへのアクセスを意味するだけです。リストは無限にあります。

  3. 他の人 (図書館など) がユーザーの肩を見下ろしている場合、そのコードはプレーンテキストですか、passwordそれともフィールドを使用していますか? 誰かがこっそりのぞくのが簡単ではない場合.

他の人が他のことを考えることができると確信しています。

于 2012-08-08T13:49:28.800 に答える
0

単純な比較 (この値とその値が等しいか) では、悪意のあるコード自体は許可されません。

どう比較するかの方が気になります。直接比較する場合は、世界の他の場所で使用される可能性のある値 (たとえば、ユーザー自身が設定した、他の場所で使用される可能性のあるパスワード) を使用していないことを願っています。セキュリティコードが保存されていると、セキュリティコードが明らかになります。これ自体は大したことではありません (攻撃者は既にアクセス権を持っています) おそらくファイル自体にハードコードされていない限り (その場合、ソースを明らかにするエクスプロイト - そして長年にわたっていくつかありました - 方法を明らかにします)ログイン)、しかし、ユーザーがコードを設定できる場合は、他のサイトで使用する可能性のあるパスワードを明らかにしたことになります。

于 2012-08-08T13:27:41.437 に答える