2HTTPこんばんわ!世間では徳丸試験といわれている、ウェブ・セキュリティ基礎試験に挑戦しようということで、いつものごとくアウトプットで記事にまとめていきます。今回は第二回目のHTTPについてまとめます。Protocol」の略で、ウェブ上で情報を送受信するためのプロトコル(通信規約)の一つです。HTTPはクライアント(通常はウェブブラウザ)とサーバー(ウェブサイト)間の通信を制御します。クライアントがHTTPリクエストを送信し、サーバーがHTTPレスポンスを返します。これにより、ウェブページのテキスト、画像、その他のリソースがユーザーに表示されます。ステータス100台は処理が継続、200台は正常終了、300台はリダイレクト、400台はクライアントエラー、500台はサーバーエラーを表しています。メッセージボディHTTPリクエストやレスポンスのメッセージボディは、送信するデータそのものを含みます。POSTリクエストを使用してフォームデータを送信する場合、そのデータはメッセージボディに配置されます。同様に、サーバーがHTMLページや画像などのリソースをクライアントに送信する際、そのリソースはレスポンスのメッセージボディに含まれます。パーセントエンコーディングパーセントエンコーディング(URLエンコーディングとも呼ばれます)は、URL内で安全に特殊文字を表現するためのメカニズムです。これは、URLがASCII文字セットのみをサポートしているため、特殊文字や非ASCII文字をURLに含めるために必要です。記号に続く2つの16進数数字によって表現されます。RefererHTTPのReferer(実際には「referrer」のスペルミスから来ています)ヘッダーは、リクエストが発生したページのURLをサーバーに伝えるために使用されます。これにより、サーバーはユーザーがどのページから来たのかを知ることができ、これを利用してアクセス統計を取ったり、キャッシュの動作を最適化したり、またはユーザーエクスペリエンスをパーソナライズしたりすることができます。クッキーデータをブラウザに保存する仕組みです。これにより、次回からログインなどの手続きをすることなくWebサービスを利用できたり、好みに応じた広告を表示させることができます。クッキーが保持できる値の個数や文字列長に制限があるのと値を変更できるので秘密情報に向かない点があります。代表的なオプションは下記ですDomainデフォルトでは、クッキーはクッキーをセットしたサーバーにのみ送信されます。複数のサーバーにクッキーを送信したい場合は、Domain属性を設定することができます。不用意に多くのサーバーを指定すると、セキュリティ上の問題を引き起こす可能性があるため、注意が必要です。PathPath属性は、クッキーが有効なURLのパスを指定します。指定されたパスのページ、およびその下の階層のページでのみ、クッキーは送信されます。ExpiresExpires属性は、クッキーの有効期限を設定します。指定された日時を過ぎると、クッキーは自動的に削除されます。この属性が設定されていない場合、クッキーはブラウザが閉じられるとすぐに削除される「セッションクッキー」になります。SecureSecure属性は、クッキーの送信をHTTPSを用いた通信に限定できます。この属性が設定されているクッキーは、安全な接続(HTTPS)を使用しているときにのみブラウザからサーバーに送信されます。これにより、クッキー情報の盗聴を防ぐことができます。HttpOnlyHttpOnly属性をクッキーに設定すると、JavaScriptからクッキーの値にアクセスできなくなります2。これにより、クロスサイトスクリプティング(XSS)攻撃によるクッキー情報の盗み出しを防ぐことができますSameSiteSameSite属性は、クッキーが送信されるべき状況を制御するための比較的新しい属性です。この属性には主に3つの値があります。「None」はこれまでのクッキーの挙動通り、全てのcross-siteなリクエストに対してクッキーが付与されます。「Strict」same-siteに対するリクエストにのみクッキーが付与されます。これはCSRF攻撃に対して有効ですが、ユーザーはcross-siteなサイトからログインした状態で遷移できないため、ユーザーは再度ログイン処理や再読み込み処理が必要となります。「Lax」NoneとStrictの間に位置するような指定です。cross-siteを含むページ遷移のようなトップレベルのナビゲーションと、same-siteのスクリプトや画像などのサブリソースに対するアクセスに対してのみクッキーが付与されます。ログインした状態で遷移できます。POSTメソッドのようなunsafeなHTTPメソッドによるcross-siteなトップレベルのナビゲーションに対してクッキーが付与されないため、POSTメソッドなどを使ったフォームのサブミットに対するCSRF攻撃に対して有効です。セッションユーザーが行う一連の動作(ログイン〜ログアウト)を指します。セッションはユーザーのアクション履歴や、処理状況などを管理することができます。クッキーを使ってセッション管理を行うことで、HTTP通信の「ステートレス」という性質を克服して、状態を保持できるようになります。8はてなブログをはじめよう!begginerkunさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。