security

また騙された

http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-3843 http://www.procheckup.com/PDFs/bypassing-dot-NET-ValidateRequest.pdf動かない!動かない!って思ったら騙されてるだけだった。サンプルコードをコピペして動かすまで気付かなかった。 <tagname <~/XSS/*-*/STYLE=xss:e/**/xpression(alert('XSS'))>チル</tagname>…

セッション変数使用時の注意点

http://d.hatena.ne.jp/teracc/20080225#1203957135 寺田さんの日記より 私が問題だと思うのは、「hiddenの改竄」はWebアプリケーションの開発者の人たちに割と認知されているようですが、セッション変数を使う場合に生じうることは、一般に余り認知されてい…

Flash 脆弱性

http://www.adobe.com/support/security/bulletins/apsb07-20.html Adobe would like to thank Toshiharu Sugiyama of UBsecure, Inc. and JPCERT/CC for reporting the cross-domain policy file issue and the HTTP header issue and for working with us …

価格をPOSTすることの是非

価格をPOSTすることの是非が議論されているようですが、これ単体を取って脆弱であると判断するのは確かに微妙ですね。 一般的に商品の価格は永久に固定である訳ではなく更新される可能性があります。そういえば、マクドナルドでも価格の改定がありましたね。…

最後の砦web.xmlのerror-page要素が破られた

スタックトレースなどアプリケーションが吐き出す詳細な例外情報が出力されてしまうことは、セキュリティ上あまり望ましくありません。この情報を使用して攻撃を仕掛けてくる悪い人達がいるかもしれないからです。 この問題を防ぐための選択肢は2通りあると…

脆弱性?

http://www.securiteam.com/unixfocus/6H0040KKKU.html メソッドってFlashから操作出来るんですかね? 出来ないと思っていたのだけれど・・・

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

StrutsのRequestProcessorは、BeanUtils.populate(Object bean, Map properties)を使用して、リクエストパラメータをActionFormへ格納する。 BeanUtilsは、リフレクションAPIを簡易に扱うためのラッパーであり、上記メソッドはMapのキーに対応するbeanのプロ…

コード解析

最近、コード解析ツールにものすごく興味が湧いてきた。 今までは、どうせ誤検知ばっかで重大な問題は見つけられなかったりすんじゃない?と否定的だったのだけれど、そうでもないかもしれなくない?という感覚がふつふつと沸いてきた感じ。今の仕事に飽きて…

Struts XSS Vulnerability

IPAに報告した脆弱性情報が先日公開されました。 http://jvn.jp/jp/JVN%2316535199/index.html結果としてはTomcatの脆弱性であると位置付けられてしまったのですが、Strutsの脆弱性として報告をあげていた問題です。 概要は、Strutsが提供するHTML用タグライ…

CookieMonster

今まで見逃してたけど、CookieMonsterの対策方法はRFC2965に書いてあった。 http://www.ietf.org/rfc/rfc2965.txt 7.2 Cookie Spoofing Proper application design can avoid spoofing attacks from related domains. Consider: 1. User agent makes request…

フレームワークのセキュリティ問題

まとめたい。 フレームワークが持つ脆弱性に対して、開発者はどこまで認識すべきか 既知の問題だけ認識すればよいか? 未知の問題に対してどう取り組むべきか フレームワークを使用する場合、開発者はどこまでテストすべきか フレームワーク固有の問題に関し…

Apacheの

'Apache Multiple Injection Vulnerabilities' - SecuriTeam ニセ脆弱性?

セキュリティ対策はいたちごっこか?

最近、「セキュリティ対策はきりがない、いたちごっこになるだけじゃないか。」という声を耳にすることがよくあります。年々新しい攻撃手法が発見されるため、いつまで経っても安心できない、というのが理由のようです。 ただ、正しく実装している限り、いた…

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メソッド…

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

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

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

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

文字コード

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