【セキュリティ】クロス・サイト・スクリプティング

 ■ クロスサイトスクリプティング

クロスサイトスクリプティング(XSS / CSS:Cross Site Scripting)とは
ページ内に悪意のスクリプトやタグが埋め込まるセキュリティホールの一種。

 ■ 問題

* スクリプトを自由に実行できてしまうこと。

 ■ 具体的な被害

 * 具体的には、以下のような被害が起こる可能性がある。
   + クッキーを盗まれる
   + ファイルの破壊

 ■ 対策

 * 動的に生成される全ての値に対して、エスケープ処理を施す(サニタイジング)
 * Cookieには、secure属性やHttpOnly属性を加える

 ■ 補足:サニタイジング(Sanitizing/無害化)

 * 入力値に対して、HTMLタグ、JavaScript、SQL文などを検出し、他の文字列に置き換える事。

 エスケープ処理(Java

* 「<」「>」 などを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