security

瑕疵担保責任

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

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

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

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

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

安全な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に関連付けて…

Cookieの安全性

ユーザ入力値をCookieの値に設定して返すアプリケーションを構築する際は、 入力値に改行コードが含まれていた場合の危険性を考慮しなければならない。 http://www.atmarkit.co.jp/fsecurity/special/34xss/xss01.html javax.servlet.http.Cookieに改行コー…

SQLインジェクション対策は機械的に行うべき

SQLインジェクション対策は小難しいことを考えなくても機械的な対応が出来ると思う。JavaだったらPreparedStatementを使わずに生のStatementを使用しているコードを検出 したらIDEレベルで警告を出してあげるようにする事と、パラメータバインドを使えない o…

Struts1.2.8 リリース

XSSの脆弱性が修正されたもよう。 こんな脆弱性があったとは、全く気付かなかった。 http://www.hacktics.com/AdvStrutsNov05.html・・・ってか、Tomcat上では再現しないと書いてあるようだけど、 それならStrutsの脆弱性じゃなくて、アプリケーションサーバ…

Secure属性の付いたCookieの扱い

Secure属性の付いたCookieをJavaScriptから触るときの挙動。 HTTPのページで、javascript:document.cookie = 表示されない。 HTTPSのページで、javascript:document.cookie = 表示される。ちゃんと切り分けされている。 サーバへの送信時にのみ、関連する属…

HTMLEncodeサニタイジングchar一覧

以下の4つ & " HTMLEncodeを自分でかましてあげないとダメです。 (´・д・`) ヤダ

JSTLサニタイジングchar一覧

c:outでは以下がサニタイジング対象 & ' " escapeXml属性がtrueならばサニタイジング Default=true

VS2005静的コード分析機能

ネットで拾える情報しかみていないのだけれど、VS2005の静的コード分析機能が気に なってしょうがない。 現時点でどの程度の機能を持っているのだろう? 開発経験はJ2EEがメインだったので、コード分析じゃセキュリティ上の問題を潰すこ とは出来ないだろう…

XSS対策は入力チェックで行うべきじゃない。

XSS対策は入力チェックで行うべきではありません。 HTMLに依存する問題なんだから、HTMLを生成する段階で無害化するのが筋でしょう。 本質から外れた対応を行っていた場合、様々な問題が発生します。A社はPC向けのコミュニティサイト作成にあたり、入力時に…