タグ

2018年4月4日のブックマーク (6件)

  • http(通信プロトコル)とは?httpの仕組みと、通信内容(リクエストヘッダとレスポンスヘッダ)の確認手順まとめ

    エンジニア転職情報サイト > その他(IT関連) > http(通信プロトコル)とは?httpの仕組みと、通信内容(リクエストヘッダとレスポンスヘッダ)の確認手順まとめ 公開日:2014-02-06 更新日:2022-10-16 httpとは、代表的な通信プロトコルの一つで、インターネット上でWebサーバー(サイトの公開側)と、クライアント(ブラウザ:サイトを閲覧する側)が、相互に通信するために使用される仕組みです。 もっと言うと、Webサーバーとクライアント間で、HTML(Webページを作成するための言語)で記載された情報をやりとりするための仕組みです。 この「http」がないと、インターネット上のサイトを見ることができなくなるので、今や無くてはならない仕組みとなります。 今回の記事では、この「http」の仕組みと、「http」を利用したWebサーバーとクライアント間での通信内容(リク

    http(通信プロトコル)とは?httpの仕組みと、通信内容(リクエストヘッダとレスポンスヘッダ)の確認手順まとめ
  • 【HTTPヘッダインジェクション】の仕組みと対策のまとめ記事

    Webサイトの管理者であれば、自分(自社)のサイトの脆弱性を取り除いておく事が必要になります。 特に、代表的なハッキング手法である「クロスサイトスクリプティング(XSS)」や「SQLインジェクション」対策をしておくことは必須でしょう。 また、今回紹介する「HTTPヘッダインジェクション」も、有名なハッキング手法になりますので、ぜひ対策をしておいてください。 今回の記事では、この「HTTPヘッダインジェクション」の仕組みや、対策について順に解説していきます。 以下、目次になります。 「HTTPヘッダインジェクション」の仕組み 「HTTPヘッダインジェクション」の対策 「HTTPヘッダインジェクション」の仕組み HTTPヘッダインジェクションを理解するためには、まずHTTPの仕組みや、HTTPを利用した通信手順を理解していなければなりません。こちらは、下記で解説しています。 http(通信プロ

    【HTTPヘッダインジェクション】の仕組みと対策のまとめ記事
  • PHPにおけるHostヘッダインジェクション攻撃が可能な脆弱性 — A Day in Serenity (Reloaded) — PHP, CodeIgniter, FuelPHP, Linux or something

    Googleで「Hostヘッダインジェクション」を検索しても「HTTPヘッダインジェクション」しか出てこないので、この記事を書くことにしました。 ちなみに、「Hostヘッダインジェクション」自体はPHPに固有というわけではなく、あらゆる環境で起こり得ます。 Hostヘッダインジェクションとは? HTTPリクエストの「Hostヘッダ」の値を攻撃者が操作する攻撃です。 例えば、以下のようなコードがあった場合、$_SERVER['HTTP_HOST']の値を操作できれば、リンク先を自由に変更できます。 <a href="http://<?php echo $_SERVER['HTTP_HOST']; ?>/?token=secret"> 例えば、PHPビルトインWebサーバの場合ですが、telnetしてアクセスしてみましょう。 $ telnet localhost 8000 Trying 127

  • WindowsのIISで単一IPアドレスのサーバーに複数のWebサイトを設置・運用する(ホストヘッダー編)

    解説 新たにWebサイトを立ち上げたいが、コストなどの事情からWebサーバ・マシンは増やしたくないとき、既存のWebサーバ・マシンにそのWebサイトを追加することになるだろう。つまり単一のサーバ・マシンで複数のWebサイトを運用するということだ。この場合、どのように各Webサイトへのアクセス要求を正しく割り振るかが課題となる。 単純なのは、Webサイトごとに異なるIPアドレスを割り当て、DNSサーバでも各Webサイトのドメイン名を各IPアドレスに名前解決させることで、各Webサイトへのアクセス要求を各IPアドレスに割り振ることだ。しかし、コストなどの事情からサーバ・マシンにIPアドレスを追加できないことも多い。 Webサイトごとに異なるポート番号を割り当てるという方法もある。しかし、デフォルトの80番以外のポートを割り当てたWebサイトの場合、クライアント側では「http://www.ex

    WindowsのIISで単一IPアドレスのサーバーに複数のWebサイトを設置・運用する(ホストヘッダー編)
  • HTTP 1.1のHost:ヘッダーの保持

    HTTP 1.1リクエストには、多くの場合Host:ヘッダーが組み込まれており、クライアント・リクエストのホスト名が含まれます。これは、サーバーが単一のIPアドレスまたはインタフェースを使用して、複数のDNSホスト名に対するリクエストを受け入れることがあるためです。 Host:ヘッダーによって、クライアントがリクエストするサーバーが識別されます。リバース・プロキシがクライアントとターゲット・サーバーの間のHTTP 1.1リクエストをプロキシする際には、リクエスト時にHost:ヘッダーをアウトバウンド・リクエストに追加する必要があります。ターゲット・サーバーに送信されるHost:ヘッダーは、クライアントから受け取ったHost:ヘッダーと同じである必要があります。ターゲット・サーバーに直接アクセスする際のHost:ヘッダーであってはなりません。 アプリケーション・サーバーで、絶対パスの完全修飾

  • curl コマンドでホスト名が必要なURLにアクセスする - SaintSouth.NET