naobe @ ウィキ
WEBアプリセキュリティ
最終更新:
Bot(ページ名リンク)
-
view
WEBアプリケーションに戻る
SQLインジェクション
入力値を使ってSQLを作成しているサイトに対して、入力値にSQLを終了する';'とSQLコードを与えることによって、DBから機密情報を取得したり、DBの改変を行う不正操作を言う。
対策として入力値チェックや、Prepared Statementの使用が挙げられる。
対策として入力値チェックや、Prepared Statementの使用が挙げられる。
XSS(Cross Site Scripting)
入力値を使って動的にHTMLページを作成しているサイトに対して、JavaScriptコードや新たなHTMLを加えることによって、機密情報(セッションIDなど)を盗み出すこと。
対策には、入力値の中の'<'. '&', '"'のエスケープがある。
対策には、入力値の中の'<'. '&', '"'のエスケープがある。
CSRF(Cross Site Request Forgery)
HTTPヘッダインジェクション
受動的攻撃と同一生成元ポリシー
能動的攻撃と受動的攻撃
能動的攻撃とは、攻撃者がWEBサーバに対して直接攻撃すること。SQLインジェクション攻撃など。
受動的攻撃とは、裏サイトを使って使用者に不正なプログラムを実行させ正規サイトに対して攻撃を加えること。
受動的攻撃とは、裏サイトを使って使用者に不正なプログラムを実行させ正規サイトに対して攻撃を加えること。
ブラウザはいかにして受動的攻撃を防ぐか
アドオン(JavaScript, Flash, Java Applet, Active Xなど)に対してサンドボックスの考え方を適用する。
サンドボックス
砂場のこと。他に影響を与えない場所。
- ローカルファイルへのアクセス禁止
- プリンタなどの資源使用禁止
- ネットワークアクセスの制限(同一生成元ポリシー)
同一生成元ポリシー
JavaScriptによるサイトにまたがったアクセスを禁止するセキュリティ上の制限。
【例】
【例】
- 罠サイトを作成する。罠サイトのHTML内部に正規サイトをiframeで含む。
- 罠サイトのHTMLからJavaScriptを使って、正規サイトの機密情報(パスワードなど)を読み込む。
- 罠サイトと正規サイトのURLが異なっているため、同一生成元ポリシーに違反してエラーになる(機密情報を読み込むことができない)。