セキュリティ

クロスサイトスクリプティング(XSS)

ユーザー環境で不正なスクリプトを実行させる。 標的サイトに悪意のあるスクリプトが埋め込まれるようなリンクを踏ませる or 標的サイトにフォームなどから直接悪意のあるスクリプトを埋め込む 標的サイトにユーザーがアクセスしたとき、特定のタイミングで…

SQLインジェクション

パラメータを操作して不正なデータベースクエリを発行させる。 Railsでの対策 railsではパラメータの文字列が自動でエスケープされる。 ただしwhereなど(条件フラグメント)については手動でエスケープする必要がある。 Model.where("login = ? AND passwor…

クロスサイトリクエストフォージェリ(CSRF)

攻撃対象のwebアプリケーションに意図しないリクエストを送信させる。 攻撃手法 攻撃用のwebページや掲示板やメールに、標的のユーザーがログイン中の標的アプリに無意識にリクエストを送らせるコードやリンクを仕込む。 ブラウザはリクエストのたびにcookie…

CookieStoreセッションに対する攻撃

CookieStoreによるセッション管理 RailsはデフォルトのセッションストレージとしてCookieStoreを用いる。 CookieStoreはセッション情報をsecret_key_baseで暗号化し、クライアント側のcookieに保存する。 再生攻撃 最初にブラウザに保存されていたcookieをコ…

セッションハイジャック

ユーザーのセッションIDが盗まれると、攻撃者がそのユーザーをかたってアプリケーションを利用できてしまう。 Railsでの対策 SSL接続を強制する。 Rails.application.configure do config.force_ssl = true end