■ クロスサイトスクリプティング
クロスサイトスクリプティング(XSS / CSS:Cross Site Scripting)とは ページ内に悪意のスクリプトやタグが埋め込まるセキュリティホールの一種。
■ 問題
* スクリプトを自由に実行できてしまうこと。
■ 具体的な被害
* 具体的には、以下のような被害が起こる可能性がある。 + クッキーを盗まれる + ファイルの破壊
■ 対策
* 動的に生成される全ての値に対して、エスケープ処理を施す(サニタイジング) * Cookieには、secure属性やHttpOnly属性を加える
■ 補足:サニタイジング(Sanitizing/無害化)
* 入力値に対して、HTMLタグ、JavaScript、SQL文などを検出し、他の文字列に置き換える事。
* 「<」「>」 などをreplace()で置き換えるなどの方法をとる
http://allabout.co.jp/gm/gc/80639/3/
http://atmarkplant-dj.blogspot.jp/2011/04/java-htmlxss.html
http://www.websec-room.com/2013/03/16/583
エスケープ処理(PHP)
* PHPでは、htmlspecialchars()やstrip_tags()などを使い、タグを無効化する
http://phpspot.net/php/man/php/function.htmlspecialchars.html
http://phpspot.net/php/man/php/function.strip-tags.html
参考資料
http://www.ipa.go.jp/security/awareness/vendor/programmingv1/a01_02.html
X-Content-Type-Options: nosniff について
http://d.hatena.ne.jp/hasegawayosuke/20110106/p1
http://swdyh.tumblr.com/post/50154551190/nosniff
関連記事
SQL アンチパターン ~ SQL Injection(SQLインジェクション) ~
https://dk521123.hatenablog.com/entry/2016/01/09/113000
クロス・サイト・リクエスト・フォージェリ
https://dk521123.hatenablog.com/entry/2016/01/02/103500