Java

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

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

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

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

言語別変換メモ

shift-jis Java → %→null Nullpo %A→null Nullpo %A1→? %81→? ASP.NET → %→% %A→%A %A1→? %81→

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

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

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

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

文字コードと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 …

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をダウンロードして使う。

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

「セッターで値が規定外の時って」(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は複数のインスタンスを作っても良い」これは知らなかったのでかなり衝撃。覚えとかなきゃ。

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…

Cookieの安全性

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

Struts1.2.8 リリース

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

JSTLサニタイジングchar一覧

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

Struts ActionForm

ActionFormの役割は入力値のラップです。 出力時の値セットにはPOJOを使用しましょう。不要な依存関係は出来る限り削除することを念頭に設計していきたいですね。

Servletのインスタンス変数

StrutsのActionクラスを独自拡張した抽象クラスに、インスタンス変数が使用されてい るケースをみかけることがよくあった。(使用しても問題ない場合もあるけれど、みか けたケースは問題がある使い方をしていた。) Servletは通常マルチスレッド-シングルイ…

Struts1.2.7 動的リストをActionFormで使用する

動的リストをActionFormで使用したい http://wiki.apache.org/struts/StrutsCatalogLazyList さらにvalidatorも使用したい indexedListProperty さらにJavaScriptでエラー内容をポップアップ表示したい 動的リストのJavaScriptチェックはサポートされていな…

Strutsタグライブラリ サニタイジング対象char一覧

→ > & → & " → " ’→ '

POI2.5.1からエクセル書式情報を取得する

エクセルの書式情報は HSSFWorkBook-WorkBook-formats-FormatRecordインスタンスの field_1_index_codeと結びついている。 この値はHSSFCellStyle#getDataFormat()で取得できる。 ただし、ここで返される値はshort値。 FormatRecordとして登録されているレコ…

POI2.5.1で作成したエクセルファイルをWindows98,MEから参照すると文字化けする。

HSSFWorkbook#createFont(String)において生成したフォントがセルにセットされたエク セルファイルをWindows98,Meクライアントで参照した場合、セル内の日本語が縦長の□□ に化ける現象が発生する。 原因: HSSFWorkbook.createFont(String)で生成されるHSSFFo…

POI2.5.1でヘッダ/フッタに日本語が使えません。

http://issues.apache.org/bugzilla/show_bug.cgi?id=17039

POI BiffViewer

思い通りのエクセルが吐き出せない・・・困った時にはBiffViewer。 org.apache.poi.hssf.dev.BiffViewer fileName 1.エクセルアプリからファイルを作る。 2.POIからファイルを作る。 3.1と2のdiffを取って違いを調べる。 突っ込んだ調査をするときは…