SlideShare a Scribd company logo
1 of 28
Download to read offline
HTTPで苦戦したこと
@kanayannet
今日話すこと
1. そもそも HTTP って?
2. メッセージヘッダー
3. 必須項目
4. 環境によって変わってしまう?
5. 偽装可能?
6. まとめ
そんなに難しい事は話さない…はずですw
HTTP って?
Hyper Text Transfer Protocol の略
Webサーバの間でHTMLなどのコンテンツの送受信に
用いられる通信プロトコルである。
RFC 2616で規定されている。
ハイパーテキスト転送プロトコルとも呼ばれる。
!

by wikipedia
HTTP って?
メッセージヘッダー
CRLF(空行)
メッセージボディ
メッセージヘッダ
リクエストヘッダ
サーバにリクエストを投げる際のヘッダ

レスポンスヘッダ
サーバからの返信の際のヘッダ
メッセージヘッダ

今回の話はメッセージヘッダの話が
メインです。
必須項目
リクエストライン
GET / HTTP/1.1
Host: www.google.co.jp
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:25.0)
Gecko/20100101 Firefox/25.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/
*;q=0.8
Accept-Language: ja,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Cookie:
PREF=ID=47629991efdf64a8:FF=0:TM=1386252425:LM=138625
必須項目

先ほどの赤い項目意外は必須ではありません。
必須項目

つまり、必須項目以外は人や実行環境によって
任意(想定外)に指定されます。
環境によって変わってしまう
リファラー(アクセス元のページ)
例:SSL -> 非SSL のページに遷移すると…

リファラが消えてる!!
環境によって変わってしまう
リファラー
例:スマートフォンサイト で Google から来た
リファラをアクセスログから集計してみたい

ってあれ?
環境によって変わってしまう
リファラー
環境によって変わってしまう
リファラー
いつの間にかアカン奴だこれ!><
!

※このgoogle検索結果の件:
PCサイトだと SSLでも取得できたりするので
実行環境によって変化する可能性があります。
環境によって変わってしまう
リファラー
お客さん:「このページの遷移先が訳が分からない。」

担当者:「おかしいな∼こちらでは同じ現象起きないので
すが…」


自分:「詳細(アクセスログ)を確認してみます。」
環境によって変わってしまう
リファラー
自分:「お客さんの..履歴からはリファラが一切ない??」
もしや…「あ!」
!

1. アプリがリファラを元に遷移先のページを指定

2. お客さんが某ウィルス対策ソフトでリファラを

送信しない設定にしている
環境によって変わってしまう
リファラー
あてにしすぎると痛い目を見ますね..orz
環境によって変わってしまう
set-cookie
どっちが正しい??
set-cookie: Tue Dec 2 13:19:33 2014 GMT
set-cookie: Tue, 2-Dec-2014 13:19:33 GMT
環境によって変わってしまう
set-cookie
どっちが正しい??
set-cookie: Tue Dec 2 13:19:33 2014 GMT
set-cookie: Tue, 2-Dec-2014 13:19:33 GMT
環境によって変わってしまう
set-cookie
ブラウザによってはうまく動いて
しまう場合があり、勘違いに繋がる..
偽装可能?
cookie
サーバとブラウザ間で状態を管理する
プロトコル
偽装可能?
cookie
ユーザ識別やセッション管理などに使われる
場合によって偽装が可能です。
偽装可能?
cookie
例:piu=rtyncjsl;eryu=uiskcmlasmaccsakk;
これではパッと見た感じ何だか解りませんよね。
100%安全とまでは言えませんが…
偽装可能?
cookie
例:uid=1678; is_login=1;
これだと、バレバレ
最悪、uid(ユーザID)を偽装されて他人になりすまして
ログインされてしまいます。
偽装可能?
cookie
たまに…
「期限なしのcookieなら端末内に保存されないので
大丈夫(覗かれない)では?」
という人もいますが…
!

ヘッダー情報を覗くツールはあります。
まとめ
メッセージヘッダを確認するにはツールを
使うと便利です。
まとめ

色々、注意事項はあるものの…
!

これ(http)なしじゃ、web はあり得ないし……
うまく付き合えば表現出来るものは多いですよw
まとめ

ご清聴ありがとうございました

More Related Content

Viewers also liked

Basic vulnerability
Basic vulnerabilityBasic vulnerability
Basic vulnerabilityNet Kanayan
 
FLIRone赤外線サーモグラフィで見るコンピュータの世界
FLIRone赤外線サーモグラフィで見るコンピュータの世界FLIRone赤外線サーモグラフィで見るコンピュータの世界
FLIRone赤外線サーモグラフィで見るコンピュータの世界Naoto MATSUMOTO
 
An Easy way to build a server cluster without top of rack switches (MEMO)
An Easy way to build a server cluster without top of rack switches (MEMO)An Easy way to build a server cluster without top of rack switches (MEMO)
An Easy way to build a server cluster without top of rack switches (MEMO)Naoto MATSUMOTO
 
VYATTA USERS MEETING Spring 2014 イントロダクション
VYATTA USERS MEETING Spring 2014 イントロダクションVYATTA USERS MEETING Spring 2014 イントロダクション
VYATTA USERS MEETING Spring 2014 イントロダクションNaoto MATSUMOTO
 

Viewers also liked (6)

Image convert
Image convertImage convert
Image convert
 
Js kusen
Js kusenJs kusen
Js kusen
 
Basic vulnerability
Basic vulnerabilityBasic vulnerability
Basic vulnerability
 
FLIRone赤外線サーモグラフィで見るコンピュータの世界
FLIRone赤外線サーモグラフィで見るコンピュータの世界FLIRone赤外線サーモグラフィで見るコンピュータの世界
FLIRone赤外線サーモグラフィで見るコンピュータの世界
 
An Easy way to build a server cluster without top of rack switches (MEMO)
An Easy way to build a server cluster without top of rack switches (MEMO)An Easy way to build a server cluster without top of rack switches (MEMO)
An Easy way to build a server cluster without top of rack switches (MEMO)
 
VYATTA USERS MEETING Spring 2014 イントロダクション
VYATTA USERS MEETING Spring 2014 イントロダクションVYATTA USERS MEETING Spring 2014 イントロダクション
VYATTA USERS MEETING Spring 2014 イントロダクション
 

Similar to Http

HTTP入門
HTTP入門HTTP入門
HTTP入門Sho A
 
HTTPの仕組みについて
HTTPの仕組みについてHTTPの仕組みについて
HTTPの仕組みについてiPride Co., Ltd.
 
Status 425 HTTP/Tokyo
Status 425 HTTP/Tokyo Status 425 HTTP/Tokyo
Status 425 HTTP/Tokyo yuki-f
 
Restful Web Service Ch2
Restful Web Service Ch2Restful Web Service Ch2
Restful Web Service Ch2kunit
 
Stuart attacking http2 implementations truefinal-jp
Stuart  attacking http2 implementations truefinal-jpStuart  attacking http2 implementations truefinal-jp
Stuart attacking http2 implementations truefinal-jpPacSecJP
 
HTTP を肌で感じる
HTTP を肌で感じるHTTP を肌で感じる
HTTP を肌で感じるKazuya Kohara
 
Lesson01
Lesson01Lesson01
Lesson01MRI
 
Webとは何か
Webとは何かWebとは何か
Webとは何かteracchi
 
20171005 告白に学ぶ http status code
20171005 告白に学ぶ http status code20171005 告白に学ぶ http status code
20171005 告白に学ぶ http status codeShinichi Takahashi
 
CometPub20070223
CometPub20070223CometPub20070223
CometPub20070223Hiroshi Ono
 
HTTPを理解する
HTTPを理解するHTTPを理解する
HTTPを理解するIIJ
 
Httpを振り返ってみる
Httpを振り返ってみるHttpを振り返ってみる
Httpを振り返ってみるgalluda
 
REST APIに入門する。
REST APIに入門する。REST APIに入門する。
REST APIに入門する。Kazushi Kawamura
 
PHPの今とこれから2018
PHPの今とこれから2018PHPの今とこれから2018
PHPの今とこれから2018Rui Hirokawa
 
Web技術について~ネットワーク・http編~
Web技術について~ネットワーク・http編~Web技術について~ネットワーク・http編~
Web技術について~ネットワーク・http編~KoudaiKumazaki
 
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。sasezaki
 

Similar to Http (20)

HTTP入門
HTTP入門HTTP入門
HTTP入門
 
HTTPの仕組みについて
HTTPの仕組みについてHTTPの仕組みについて
HTTPの仕組みについて
 
Status 425 HTTP/Tokyo
Status 425 HTTP/Tokyo Status 425 HTTP/Tokyo
Status 425 HTTP/Tokyo
 
Restful Web Service Ch2
Restful Web Service Ch2Restful Web Service Ch2
Restful Web Service Ch2
 
Stuart attacking http2 implementations truefinal-jp
Stuart  attacking http2 implementations truefinal-jpStuart  attacking http2 implementations truefinal-jp
Stuart attacking http2 implementations truefinal-jp
 
HTTP を肌で感じる
HTTP を肌で感じるHTTP を肌で感じる
HTTP を肌で感じる
 
Lesson01
Lesson01Lesson01
Lesson01
 
Webとは何か
Webとは何かWebとは何か
Webとは何か
 
20171005 告白に学ぶ http status code
20171005 告白に学ぶ http status code20171005 告白に学ぶ http status code
20171005 告白に学ぶ http status code
 
CometPub20070223
CometPub20070223CometPub20070223
CometPub20070223
 
Php s1
Php s1Php s1
Php s1
 
HTTPを理解する
HTTPを理解するHTTPを理解する
HTTPを理解する
 
Httpを振り返ってみる
Httpを振り返ってみるHttpを振り返ってみる
Httpを振り返ってみる
 
gRPC入門
gRPC入門gRPC入門
gRPC入門
 
REST APIに入門する。
REST APIに入門する。REST APIに入門する。
REST APIに入門する。
 
Web基礎
Web基礎Web基礎
Web基礎
 
PHPの今とこれから2018
PHPの今とこれから2018PHPの今とこれから2018
PHPの今とこれから2018
 
Web技術について~ネットワーク・http編~
Web技術について~ネットワーク・http編~Web技術について~ネットワーク・http編~
Web技術について~ネットワーク・http編~
 
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
 
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
 

More from Net Kanayan

More from Net Kanayan (20)

FileReader and canvas and server silde
FileReader and canvas and server sildeFileReader and canvas and server silde
FileReader and canvas and server silde
 
Osc16gm
Osc16gmOsc16gm
Osc16gm
 
Open source
Open sourceOpen source
Open source
 
Http2入門の入門
Http2入門の入門Http2入門の入門
Http2入門の入門
 
Es6 cognition
Es6 cognitionEs6 cognition
Es6 cognition
 
ES6 はじめました
ES6 はじめましたES6 はじめました
ES6 はじめました
 
Fxos lt
Fxos ltFxos lt
Fxos lt
 
Ssl
SslSsl
Ssl
 
Blueberrypi
BlueberrypiBlueberrypi
Blueberrypi
 
Browser push notifications
Browser push notificationsBrowser push notifications
Browser push notifications
 
Windows store app html
Windows store app htmlWindows store app html
Windows store app html
 
Sass less
Sass lessSass less
Sass less
 
Ll xcode
Ll xcodeLl xcode
Ll xcode
 
Web creed
Web creedWeb creed
Web creed
 
Js mvc
Js mvcJs mvc
Js mvc
 
Tdd&peapro
Tdd&peaproTdd&peapro
Tdd&peapro
 
J S Smartphone
J S SmartphoneJ S Smartphone
J S Smartphone
 
Nseg jquery mobile
Nseg jquery mobileNseg jquery mobile
Nseg jquery mobile
 
Smart phone gunma.web
Smart phone gunma.webSmart phone gunma.web
Smart phone gunma.web
 
Smart phone
Smart phoneSmart phone
Smart phone
 

Http