ホームページ >バックエンド開発 >PHPチュートリアル >PHP_PHP チュートリアルのセマンティック URL を介した Web サイト攻撃を防ぐ方法の共有
セマンティック URL 攻撃とは何ですか?
多くの攻撃者の主な動機は好奇心であり、セマンティック URL 攻撃はその好例です。このタイプの攻撃では、主に、何か興味深いものを発見することを期待して URL を編集します。
たとえば、ユーザー chris がソフトウェア内のリンクをクリックして http://example.org/private.php?user=chris ページに到達した場合、ユーザーの値を変更して内容を確認しようとするのは自然なことです。何が起こるのですか。たとえば、http://example.org/private.php?user=rasmus にアクセスして、他の人の情報を参照できるかどうかを確認する場合があります。 GET データの操作は POST データの操作よりもわずかに便利であるだけですが、その露出により、特に初心者の攻撃者にとってはより頻繁に攻撃されることになります。
ほとんどの脆弱性は、特に複雑な理由ではなく、見落としによって引き起こされます。多くの経験豊富なプログラマは、上記の URL を信頼することの危険性をすぐに認識していますが、多くの場合、他の人から指摘されるまでそれに気づきません。
セマンティック URL 攻撃や脆弱性がどのように見逃されるかをよりよく説明するために、Web メール システムを例に挙げます。このシステムの主な機能は、ユーザーがログインして自分の電子メールを表示することです。
ユーザーログインに基づくシステムには、パスワード取得メカニズムが必要です。通常のアプローチは、攻撃者が知りそうにない質問をすることです (コンピュータのブランドなど、ただし、ユーザーが質問を指定して自分で回答できる方がよいでしょう)。質問が正しく答えられた場合、新しい質問が行われます。登録したメールアドレスにパスワードが送信されます。
ウェブメール システムの場合、登録時にメール アドレスを指定できない場合があるため、質問に正しく回答したユーザーはメール アドレスの入力を求められます (このメールに新しいパスワードが送信されるときに、代替メール アドレス情報も収集されます)住所) 。次のフォームは、新しいメール アドレスを要求するために使用され、アカウント名はフォームの非表示フィールドに保存されます:
新しいパスワードを送信するメール アドレスを指定してください:
< ;input type="submit" value="Send Password" />