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

HTTPとHTTPSを併用しログイン後の画面遷移はHTTPSしか許可しないサイトでの安全なセッション管理その3

HTTPとHTTPSを併用しログイン後の画面遷移はHTTPSしか許可しないサイトでの安全なセッション管理その2 - masaのメモ置き場 の続き セッション管理に使用するCookieと認証状態の管理に使用するCookieが独立して存在するため、認証CookieにSecure属性を設定す…

HTTPとHTTPSを併用しログイン後の画面遷移はHTTPSしか許可しないサイトでの安全なセッション管理その2

「ログイン時にSecure属性付きのセッションCookieを再発行する実装の実現性」をASP.NETにおいて検証しました。 ASP.NET1.1 ASP.NET1.1でセッション破棄の処理を実装する場合には、Session.Abandonメソッドを使用します。ここでSession.Abandonを使用したセッ…

HTTPとHTTPSを併用しログイン後の画面遷移はHTTPSしか許可しないサイトでの安全なセッション管理

HTTPとHTTPSを併用するサイトでの安全なセッション管理 - masaのメモ置き場 の続き おっと、ログイン後の画面遷移はHTTPSしか許可しない前提だったら、ログイン時にSecure属性付きのセッションCookie再発行してあげれば終わりですね。前提がごっちゃになって…

HTTPとHTTPSを併用するサイトでの安全なセッション管理

12/12 22:40 こっちが正解?自信なし・・・ 考慮すべきは、 HTTPのページにアクセスするとセッション情報が奪われてしまう可能性がある HTTPのページにアクセスするとセッション情報が操作されてしまう可能性がある 2重ログインでセッション情報が奪われてし…

PreparedStatementを使用したSQLInjection対策

エスケープだけしてれば、セキュリティ対策が万全になる訳ではないですよ - masaのメモ置き場 の話について、高木さんより「PreparedStatementを使いなさい、動的パラメータの例は分岐で処理しなさい」、という趣旨のコメントを頂いてしまった。まだ、もやも…

エスケープだけしてれば、セキュリティ対策が万全になる訳ではないですよ

本題 「サニタイズ言うなキャンペーン」私の解釈 読みました。分かりやすくとてもよい記事だと思いますが、ホワイトリスト型のアプローチが補助的な対策であるとも読み取れてしまうこともありそうなため、エスケープだけしておけば大丈夫という誤った認識を…

文字コードとHTMLエンコードとCross-Site Scriptingの微妙な関係の考察

ちょっと古いけど、 2006-03-27 2006-03-28 ここら辺の問題を、Servlet(Tomcat5.5)を使っていろいろ試してみました。 public class BreakQuote extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws …

RefererによるCSRF対策の根拠

高木浩光@自宅の日記 - 暗黙的に形成する事実標準の話と回避策の話を混同してはいけない, 駄目な技術文書の見分け方 その1の2 この前書いたのは、読み違えでぼろぼろだったので、もう一度よく考えてみました。 つまり、リンクをクリックしてのジャンプかど…

これはどうだろう・・・

高木浩光@自宅の日記 - 暗黙的に形成する事実標準の話と回避策の話を混同してはいけない, 駄目な技術文書の見分け方 その1の2 高木さんの日記を見たけれど、RFC違反を持ち出して議論を進めていくのはどうだろう・・・ 私は高木さんの解釈が間違っていると思…

Flashのアップデート版をあててみました。

最近有名になったヘッダがブラックリストに追加されてるみたいです。ヘッダ操作が禁止になったわけではなく、ブラックリストが追加という、想定していためんどくさい状況になっています。

Flashで ヘッダ操作は 脆弱か?

http://d.hatena.ne.jp/harupu/20061107 http://www.oiwa.jp/~yutaka/tdiary/tb.rb/20061108 この辺で話題になってることについて書いてみます。 おおいわさんには別途質問をしているんですけど、個人的な見解も書いておいた方がいいかな。ってことで。 基本…

LAPSE: Web Application Security Scanner for Java

JavaプロジェクトをOpenしてFind sourcesとかのボタンを押したら動いた。PCがウィーンってうなり声をあげたけど、待つこと5分ぐらいで検索完了。 シグネチャに登録されてるメソッドを検索しておわり。 検索補助ツールですにぇ。

LAPSE: Web Application Security Scanner for Java

http://suif.stanford.edu/~livshits/work/lapse/index.html 前々から興味があったソースコードチェッカーがフリーで公開されていたのでダウンロードしてみました。 eclipse3.2 以上じゃないとダメみたいで、環境作るのがめんどいです。 とりあえず、ダウン…

Webアプリケーションとリフレクション

とっても便利なリフレクション。 Webアプリケーションのリクエストパラメータをオブジェクトにセットする共通処理を実装するときなどに使われたりします。 例えば、StrutsのActionFormでは、 set[先頭の一文字を大文字にしたパラメータ名] のpublicメソッド…

あっちに行って、そっちに行ってから、こっちに行くと不正なデータが登録出来る

アプリケーションの作りによっては、不正な画面遷移により入力チェックを回避して登録処理が行えてしまうことがあります。トランザクション処理のセキュリティとかに(多分)分類されるこの問題は、セッション変数を利用したアプリケーションにおいて発生す…

AESで192bitsの鍵を使いたい

Oracle Technology Network for Java Developers | Oracle Technology Network | Oracle sunからjceをダウンロードして使う。

textareaタグでかこまれた文字列の扱い

htmlのtextareaタグでかこわれた文字列は、HTML特殊文字のエスケープが行われていなくても文字列として解釈される。 例えば以下のhtmlはスクリプトが一見動作しそうに見えるが、実際は動作しない。 <form action="hoge.html" method="POST"> <textarea>alert('hoge');</textarea> </form> 知らなかったので、ちょっと衝撃。

文字コード

なかなか奥深いのでちゃんと勉強しとかないと。 忘れないようにメモ。

瑕疵担保責任

教訓はなぜ生かされなかったのか | 日経 xTECH(クロステック) を読んで思い出した。 SQLInjection、XSSとかのテクニカルエラーは明らかに瑕疵担保責任の範囲内。 セキュリティを考慮しない場合でも、SQLを扱う際に'を入れればエラーになる、HTMLにタグが入…

セキュリティ上の問題とバグの分岐点

セキュリティ上の問題とバグの分岐点がいまいちはっきりしない。自分の中では、誰かしらに被害が発生することが予測されるか否かで線を引きたいのだけれど、世の中の流れはそうじゃないのかな? 例えばSQLでLikeを使用する際に、%をエスケープする必要がある…

Webアプリケーション開発者が行うべきセキュリティテスト

Webアプリケーション開発者がセキュリティに関連するテストを行う場合、どのようなテストケースを作成して、どのような形でテストするべきなのだろうか。だいぶ前からかなり悩んでいるのだけれど今のところ答えが出てこない。 セキュリティ専門会社が行うよ…

入力データの検証タイミング

「セッターで値が規定外の時って」(1) Insider.NET − @IT を読んでいたら http://vsug.jp/tabid/63/forumid/56/postid/1589/view/topic/tpage/1/Default.aspx で、いろいろ悩んでいたことを思い出した。 Webアプリにおける入力データの検証は、リクエスト…

JSPのインスタンス管理

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=28015&forum=12 より 「JSPは複数のインスタンスを作っても良い」これは知らなかったのでかなり衝撃。覚えとかなきゃ。

安全なWebサイトの作り方

http://www.ipa.go.jp/security/vuln/documents/2005/website_security.pdf を読んだ。 すごく分かりやすくて、根本的対策、保険的対策に分類した構成も的を得ていると思う。 ただ、気になる点が2つ。まず「HTTPS通信で利用するCookieにはsecure属性を加え…

HTTPとHTTPSとCookieとSecure属性

HTTPとHTTPSが混在するサイトにおけるCookie管理はどうあるべきかを考察。HTTPS用のCookieにはSecure属性を設定しなければならないが、その場合HTTPでそのCookieを使用することが出来なくなってしまう。 HTTP用とHTTPS用に2つのセッション管理用Cookieを発…

PreparedStatement利用時の動きに関する調査。

postgreSQL-8.0jdbc3ドライバのソースを除いてみた。ごちゃごちゃしててなんだかよく分からないけれど、 SimpleParameterListクラスのsetStringParameterメソッドはなんか関係がありそう。 \と'の前に\を置く処理と、\0が入ってきた際にPSQLExceptionを吐き…

HTMLエスケープが行われるStrutsタグ一覧

HTMLエスケープが行われるStrutsタグ一覧を調べてみた。 bean:writeタグ html:optionsタグ html:optionsCollectionタグ html:fileタグ html:hiddenタグ html:passwordタグ html:textタグ html:textareaタグ nested:writeNestingタグ nested:writeタグ nested…

いまいちに感じるセキュリティの解説

Webアプリケーションセキュリティの基本として以下のような解説文をみかけることがある。ログイン画面で誤ったパスワードが入力された場合に「パスワードが違います。」と表示してはいけない。「存在するユーザID」が分かることで、セキュリティの強度が下が…

独特な実装がちょっと怖い

最近触りはじめたASP.NETアプリの動作検証はとりあえず終わり。 イベントドリブンなコードをWebアプリケーションでも記述出来る仕様には驚きとともに、少々危険な香りを感じた。例えば検証コントロールの定義方法。 StrutsだったらリクエストURLに関連付けて…