2010-01-01から1年間の記事一覧

OpenSocialアプリで自動紹介ツール@OpenSocial

自動紹介ツールを作ろうと思っています。 友達の友達リストからまだ友達になっていないユーザーを自動(定期的に)紹介するアプリ。 紹介文を送信できればいいな。API確認するとなんとなくできそうな予感。 Developper登録した アプリ登録する サンプルをいろ…

Apacheのログを漁るためのツールを作った@Java

Apacheのログを漁るためのツールをJavaで作りました 普段PHP ばかり触っているので、Javaもたまには触りたい… ログを引っ張って行ごとにクラスに格納して表示 検索とかはありません 正規表現でパースするところが一番時間がかかった。 製作時間、4時間ほど

ウェブアプリケーションファイアウォールってなんだろう@Web技術

ウェブアプリケーションファイアウォールってなんだろうということで調べてみた 名前のとおり、ウェブアプリケーションに対する攻撃をブロックする役目e-wordsで調べると 「リバースプロキシとして動作するものとアクセスを透過させるものに分かれる。」 →大…

Web攻撃2@Web技術

DNS Spoofing DNSを動的に変更することでセキュリティ制限を破る攻撃 FalshやJavaアプレットの通信先ドメイン制限が破れる →結果的に攻撃対象者のWebサーバーや限定されたネットワーク内のWebサーバーの情報が盗まれる可能性がある。 攻撃対象に罠サイト(サ…

WEB関連記事&書籍@Web技術

メモ程度に残しておくもの SEのための情報セキュリティ対策用語集 http://www.chuu-information.com/security/word.html 技術用語サイトまとめ http://www.glova.co.jp/glossalink/dic_it.html 網羅的に書いててランキングもあるのでステキ http://e-words.j…

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に限らないセッション保持の仕組み を理解することです。…

Webセキュリティを考える上で、気を付けること

PHP

ブラックリストよりもホワイトリスト 入力値を信用しない。UIで制限していても。 入力値を表示などに利用する場合はサニタイズ 入力値をSQLに組み込む場合は無力化。PDOが有効 ヘッダは改ざん可能を前提に考える Cookieに大切な(アカウントなどの)情報を入れ…

スパムメール踏み台攻撃@PHP技術

PHP

スパムメール踏み台攻撃とは、メールフォームを使用しているサイトの中で、フォームから送信メールアドレスを指定できる場合、リクエストを偽装することでスパムメールを送る攻撃です。 スパムメール踏み台攻撃 攻撃側 メールフォームの宛先をhiddenで送って…

セッションハイジャック@PHP技術

PHP

注意 ※この記事は、主の勘違いしている情報も含まれています。 セッションハイジャック攻撃とは、不正なセッションキーを自分ではない利用者に使わせたり、逆に他の利用者のセッションキーを盗み出す攻撃のことです。セッションハイジャックを行うと、対象者…

ファイルアップロード攻撃@PHP技術

PHP

ファイルアップロード攻撃です。 ファイルをアップロードさせた後、アップロードしたファイルを踏んでのPHPコードやJavascriptを実行させる攻撃です。 この攻撃の脅威は、 アップロードしたいファイルにスクリプトを仕込んで置く 転送したファイルを”システ…

外部コマンド実行攻撃@PHP技術

PHP

外部コマンド実行攻撃についてです。 前期のeval攻撃と似たような攻撃手法ですが、防御が違うので別枠で設けてます。 さて、外部コマンド実行攻撃とは、PHP側にリクエストをもとにしたプログラム実行系コマンドが存在する場合、リクエストを実行系コマンドの…

eval利用攻撃@PHP技術

PHP

eval利用攻撃とは、命名こそeval関数っぽいですが、 要するにPHPコードを利用した攻撃のことです。 URL内にPHPコードを直接含ませることで、内部処理中に任意のPHPコードを実行できる可能性があります。これもインクルード攻撃同様にrootを取られる可能性が…

インクルード攻撃@PHP技術

PHP

インクルード攻撃です。 インクルード攻撃とは、GETなどの値からファイルを読み込ませるコードがの脆弱性をついた攻撃です。サイト内外から任意のファイルを読み込ませることができ、サイト情報(設定など)の情報が出力されてしまうことがあります。また、…

リクエスト分割攻撃@PHP技術

PHP

リクエスト分割攻撃です。 リクエスト分割攻撃とはHTTPリクエストに改行を含ませることでHTTPのリクエストを自在に操る攻撃です。 リクエスト分割 攻撃側 リクエスト分割攻撃はHTTPリクエストをURLエンコードした改行を含ませることでヘッダを複数記述でき、…

変数汚染攻撃@PHP技術

PHP

変数汚染攻撃です。 これは、register_globalが有効になっていた場合に、内部変数の値を書き換えることが得きる問題です。 セッションの値を変えたり、設定ファイルを変数から取得していた場合、設定ファイルの読み込み先を変えたりできるため、危険な脆弱性…

Directory Traversal@PHP技術

PHP

Directory Traversal攻撃です。 Directory Traversal攻撃とは、ディレクトリを遡ってサイトの意図としていないファイルへアクセスすることです。 Directory Traversal攻撃側 ディレクトリを遡るということは、URLに以下のような記述が成功してしまいます。 h…

ヌルバイト攻撃@PHP技術

PHP

ヌルバイト攻撃についてです。 ヌルバイト攻撃とは、関数によってNULLの扱いが違うことを利用するもしくはNULLを使用することで、チェック機構を潜り抜ける攻撃です ヌルバイト攻撃側 いつもの掲示板で攻撃してみます。 今回、掲示板の方にはGETでdata_file…

CSRF@PHP技術

PHP

CSRF攻撃についてです。 CSRF攻撃とは、サイトにJSを仕込んでリダイレクトさせることでユーザーの意図にかかわらず操作(掲示板に書き込みなど)させる攻撃です。 初めて知った攻撃手法です。 CSRF攻撃側 まず、先の掲示板を使います。 攻撃対象は掲示板の削除…

サイト攻撃 SQL Injection@PHP技術

PHP

さて、次はSQLInjectionです。SQLInjectionとは、フォームのテキスト入力などにSQLを書くことでサイトの意図としないデータベース操作を行う攻撃手法です。 前期のXSSやScriptInsertionよりは成功しづらいですが、成功するとダメージが大きい特徴を持ってい…

サイト攻撃 XSS@PHP技術

PHP

さて、次はXSSです。 XSSとはブラウザやメールのリンクにスクリプトを仕込んでおいて、別のサイトを踏ませることで情報を盗み出すなどの攻撃を行う仕組みのことです。 2-3 XSS攻撃側 では、攻撃してみます。 htmlのリンクに以下のコードを含ませます。 http:…