Webセキュリティの小部屋

Twitter のフォローはこちらから Facebook ページはこちら Google+ページはこちら RSSフィードのご登録はこちらから
公開日:2013年12月15日
最終更新日:2013年12月26日

Like 句に対する SQL インジェクション対策(Java編)

概要

SQL インジェクションは、プレースホルダを利用することで対策が可能ですが、Like 句のワイルドカードついては、ほとんどの情報元が「別途エスケープが必要です」としか記載されていません。

この記事では、SQL Server に対するワイルドカードのエスケープ方法の、Java の具体的例を紹介します。動作確認環境は、JDK 6 + Tomcat 7 + SQL Server 2012 です。

JDK が 6 なのは、SQL Server の JDBC ドライバが、まだ JDK 7 をサポートしていないためです。

サンプルアプリケーションの概要は、以下の通りです。

search

SQL Server のワイルドカードのエスケープ

SQL Server のワイルドカードのエスケープに関しては、以下の記事を参考にしてください。

実装例

・input.jsp

・search (Search.java)

・result.jsp

クロスサイト・スクリプティング対策の HTML エスケープ処理を行うために、Apache Commons lang 3の StringEscapeUtils#escapeHtml4 メソッドを利用します。


スポンサーリンク




カテゴリー:Webアプリケーションセキュリティ

Twitter でも、いろんな情報を発信しています。



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA