情報セキュリティの3要素:
機密性
完全性
可用性
攻撃の流れ:
1予備調査
使われいている言語は?Webシステムの構成は?本社所在地は?サーバの場所は?etc..
2 脆弱性調査
攻撃対象への全体調査を終えた後に、くさのリンの中で一番弱い箇所を探す
3 攻撃の試行
一番弱い箇所を攻撃する
4 権限の上昇
内部に侵入しただけでは、重要な情報をアクセスできないため、管理者権限を奪い取る。
5 バッグドアの設置
後から何度も侵入ために作る、秘密の入り口。
Webアプリケーションを攻撃する手法:
SQLインジェクション:
Webフォームなどの入力インタフェースなどを利用してデータベースに発行されるSQLを変更。
例:PWを'aaa' or '1'='1'
対策:
1 入力値のチェック(バリデーション)
パスワード入力を半角英数字にして[']を防ぐ
入力文字を厳格に指定する
2 プリペアードステートメント
先に用意した変数に格納してチェックする(元々はDBスピードアップのため)
クロスサイトスクリプティング(XSS)
HTMLフォームの中に悪意のあるJavaScriptを埋め込む攻撃
→ レスポンスの中に埋め込み、Webブラウザを実行させる
クロスサイト:別のサイト
スクリプト:実行内容
対策:サニタイジング
HTMLに埋め込むと、構造を変更してしまう文字列を無害に
<script>alert('XSS&apos)</script>