目次
HTTPリクエストのスプーフィング" > HTTPリクエストのスプーフィング
ホームページ バックエンド開発 PHPチュートリアル PHP セキュリティ - HTTP リクエストのスプーフィング

PHP セキュリティ - HTTP リクエストのスプーフィング

Feb 22, 2017 am 09:19 AM



HTTPリクエストのスプーフィング

フォーム スプーフィングより高度かつ洗練された攻撃は、HTTP リクエスト スプーフィングです。これにより、攻撃者に完全な制御と柔軟性が与えられ、ユーザーが送信したデータは盲目的に信頼できないことがさらに証明されます。

これがどのように機能するかを示すには、http://www.php.cn/ にある以下のフォームを参照してください。 「選択」ボタンをクリックすると、ブラウザーは次の HTTP リクエストを発行します:

CODE:

 <form action="process.php"
method="POST">
  <p>Please select a color:
  <select name="color">
    <option value="red">Red</option>
    <option
value="green">Green</option>
    <option
value="blue">Blue</option>
  </select><br />
  <input type="submit" value="Select"
/></p>
  </form>
ログイン後にコピー


.

ほとんどのブラウザにはオリジン URL 値が含まれているため、なりすましを防ぐために $_SERVER['HTTP_REFERER'] 変数を使用したくなるかもしれません。確かに、これは標準ブラウザを使用した攻撃に対して使用できますが、攻撃者はこのちょっとした煩わしさでは阻止されません。攻撃者は、HTTP リクエストの生の情報を編集することで、HTTP ヘッダーの値、GET データと POST データ、および HTTP リクエスト内のすべてのコンテンツを完全に制御できます。

攻撃者はどのようにして元の HTTP リクエストを変更するのでしょうか?プロセスは非常に簡単です。ほとんどのシステム プラットフォームで提供されている Telnet ユーティリティを介して、Web サーバーのリスニング ポート (通常はポート 80) に接続することで、Web サーバーと直接通信できます。以下は、この手法を使用して http://www.php.cn/ ページをリクエストする例です。例は HTTP です。ヘッダー情報にホスト情報が必要なため、/1.1 仕様の最も単純なリクエストです。リクエストの終わりを示す 2 つの連続した改行を入力すると、HTML レスポンス全体が画面に表示されます。

Telnet ユーティリティは Web サーバーと直接通信する唯一の方法ではありませんが、多くの場合、これが最も便利です。ただし、同じリクエストを PHP でエンコードすると、自動化できます。前のリクエストは次の PHP コードで実現できます:

CODE:

 POST /process.php HTTP/1.1
  Host: example.org
  User-Agent: Mozilla/5.0 (X11; U; Linux i686)
  Referer: http://www.php.cn/
  Content-Type:
application/x-www-form-urlencoded
  Content-Length: 9
 
  color=red
ログイン後にコピー

もちろん、上記の目的を達成するには多くの方法がありますが、重要な点は次のとおりです。 HTTP はよく知られた標準プロトコルであり、経験豊富な攻撃者はよく知っており、一般的なセキュリティ脆弱性の攻撃方法にも精通しています。

フォームのなりすましに比べて、HTTP リクエストをなりすます方法はそれほど多くないため、注意を払う必要はありません。これらの手法について説明する理由は、攻撃者がアプリケーションに悪意のある情報を入力することがいかに簡単であるかをよりよく示すためです。これは、入力のフィルタリングの重要性と、HTTP リクエストによって提供される情報は信頼できないという事実を再度強調しています。


上記は、PHP セキュリティ - HTTP リクエスト スプーフィングの内容です。さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) に注意してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

CakePHP の日付と時刻

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

CakePHP プロジェクトの構成

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

CakePHP ファイルのアップロード

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

CakePHP ルーティング

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP について話し合う

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP クイックガイド

See all articles