2010-02-01から1ヶ月間の記事一覧

HTTP攻撃 その他@PHP技術

今までの攻撃PHP技術の件以外にも攻撃手法が載っていたので学んだことを書いていきます HTTPヘッダインジェクション ユーザー入力された値を元にHTTPヘッダを出力するロジックが存在する時に注意。header()関数の引数にGETの内容などを渡していると、ヘッダ…

(コラム)304NotModifiedがよく返ってくる件@HTTP技術

PHP

304NotModifiedってリソースの変更がないのでクライアントからキャッシュを表示してください。という意味なのですが、ふと疑問に思ったことがあります「リソースの変更がない事をどうやってhttpdが判別しているのか」 「キャッシュの内容を変更しなくてよい…

HTTPリクエスト・レスポンスヘッダ@PHP技術

PHP

telnetでHTTP通信する過程でHTTPについて調べていたのですが、 記事が大きくなったので別枠を設けました。 参考記事 HTTPリクエストヘッダ http://itpro.nikkeibp.co.jp/article/COLUMN/20080516/302045/?ST=oss&P=1 HTTPレスポンス http://itpro.nikkeibp.c…

(コラム)クッキーの行き来を観察してみよう@PHP技術

PHP

クッキーがどのように行き来しているのか、観察してみますwikipedia →http://ja.wikipedia.org/wiki/HTTP_cookie Cookieについて http://www.studyinghttp.net/cookies#Cookie wiresharkで観察してみました。 PHPでsetcookie()関数を使用するとレスポンスヘ…

手動でHTTP通信をしてみよう2@PHP技術

PHP

先のHTTPを手動で動かしてみようのエントリーで [TCP segment of a reassembled PDU]と表記されたパケットですが、 TCPで分割されたパケットでした。 テキストファイルをアップロードしたら分割されていました。 下の情報サイトの通りになってた。理解度が深…

手動でHTTP通信をしてみよう@PHP技術

PHP

手動でHTTP通信をしてみよう。 ということで、パケットキャプチャしながらtelnetでHTTP通信をしてみました。 HTTPでindex.htmlを表示してみよう まず、DocumentRootに適当なindex.htmlを生成してロードしたいと思います。 [xxxxxx@xxxxx ~]# telnet 192.168.…

エラーハンドリング@PHP技術

PHP

※前回と同じく、主の理解していない部分が多く含まれています。 また、解はありませんので了承ください前回エラーハンドリングについて書いたのですが、そもそもユーザー定義メッセージとエラーレベルとは関係ないとの指摘をいただいたので、考え直してみま…

エラーログの扱い方を考える@PHP技術

PHP

※この記事は主の勘違いとよくわかってないところが含まれています。 PHPではデバッグ機能が備わっていて、エラーが発生するとブラウザへ出力されます。 開発をする時にはこの機能は便利なのですが、運用段階では問題になることがあります。 開発段階と運用段…

リソースの場所を考えてみる@PHP技術

PHP

先のファイルアップロード攻撃の対策について、画像掲示板が作れないという指摘を受けましたので、改めて考えてみました。ファイルアップロード攻撃では、公開フォルダをDocumentRoot下に置いてあり、アクセスされて直接閲覧されるのを防ぐためにランダムに…

暗号化について調べてみた@PHP技術

PHP

セッションハイジャックに関連して調べていくうちに、暗号化形式について気になったので調べてみました。 できればコード上で適切な暗号化形式を選べるようになりたい。まず、暗号化形式には大まかに2つ形式があって〜公開鍵・秘密鍵の話はわかっている前提…

セッション管理という概念について@PHP技術

PHP

前回、セッションハイジャックの回で誤った解釈をしつつ進んでいるので、改めてセッション管理について考えたいと思います。まず、前回の課題として、 PHPにおけるセッション変数保持の仕組み Cookieに限らないセッション保持の仕組み を理解することです。…