1. web/XSS攻撃
XSS攻撃と呼ぶのがよさそうなので、ページ名を変更した。
IPA : http://www.ipa.go.jp/security/vuln/vuln_contents/xss.html
クロスサイトスクリプティング
「クロスサイトスクリプティング脆弱性」について
2. 攻撃手法
「XSSは攻撃目的サイトから送出されるscriptに攻撃者の仕組んだ scriptを『紛れ込ませる』ことで、 (SOP制限の範囲内で)犠牲者にscriptを実行させる攻撃手法である。」(前野の理解)
- 攻撃されるのはサイトではなく、サイトの利用者である。
ユーザーの入力に対してHTMLページを生成するアプリケーションがXSS脆弱なときに発生する。
どうやって『紛れ込ませる』か、どういうものを『紛れこませる』かで分類できる。
3. 紛れ込ませる方法
目的サイトで処理になんらかの不良を見つける。
4. 道具だて
http://d.hatena.ne.jp/unageanu/20100619/1276921005
- サイト側の意図しないページを閲覧者に送りつける(実行させる)という脆弱性
- 攻撃者の用意したサイト
- 元サイトと攻撃者のサイトの両方に同時にアクセスする犠牲者(カモ)
スクリプトとは限らない。
- サイト側が意図しない構成のページを送りつけ、その結果ブラウザ内の情報が他サイトに漏れる。
- 「なりすましメールを送らされる」というのがありそう。
- webサイト側での対策も出来る/あるが。
被害を受けるのはウェブサイトではなく、サイト訪問者なのか。
- ウェブサイトは加害者となり、世間から非難される。
脆弱性が複合して、XSSという脆弱性を引き起こすことも。
- やってはいけないことのリストがあるが、それで十分かどうかは不明。
XSSの脆弱性を検査する方法 http://japan.zdnet.com/security/sp_07websecur/20360061/
5. XSS の影響
http://itpro.nikkeibp.co.jp/article/NEWS/20061113/253479/ 「XSS脆弱性が存在するサイト上に、偽のログイン画面や個人情報入力画面を作られることのほうが深刻だ」(徳丸氏)。
フィッシング詐欺への悪用である。 XSS脆弱性を使えば、細工を施したリンク(URL)をユーザーにクリックさせることで、 XSS脆弱性が存在するWebサイトを経由して、任意のHTMLをユーザーのブラウザに送り込める。 つまり、コンテンツの一部を改変したWebページを表示させられる。 具体的には、Webページ上に嘘の情報を追加したり、偽の入力フォームを作成したりすることが可能となる。 フォームに入力した情報は攻撃者のサイトへ送信されることになる。
6. XSS攻撃の実例
http://bakera.jp/ebi/topic/4104 水無月ばけらのえび日記
- XSS脆弱性によるセッションハイジャック
7. XSS攻撃への対策
ひとつの提案
http://www.atmarkit.co.jp/fsecurity/special/30xss/xss01.html (2002/11/9)
■PHPのイタい入門書を読んでAjaxのXSSについて検討した(1) http://d.hatena.ne.jp/ockeghem/20110905/p1
8. 攻撃の対象
http://www.atmarkit.co.jp/fsecurity/special/30xss/xss01.html 例:
ユーザーが入力した名前がページの一部となって表示されるアプリケーション
任意のスクリプトを実行することもできるだろう。
実行されるのはブラウザを使っている利用者のPC上である。
9. XSS検査ツール
http://www.authority-site.com/2010/08/firefox/xssme.html
XSS Filter Evasion Cheat Sheet (OWASP)
https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet
10. 弱点を発生させない
11. XSS+*
(例) 第三者により、file://127.0.0.1 の URL の参照情報を構成する JavaScript の攻撃コードを介して、 アクセス制限を回避され、任意のファイルを読まれる脆弱性が存在します。