SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
技術者募集中

XSSとは(クロスサイトスクリプティングとは)

XSSとは?

外部からの入力をそのままHTMLとして出力してしまう脆弱性があることで、
以下のようなHTMLを挿入して攻撃ができる。

このような攻撃のこと。またその攻撃ができる脆弱性のこと。

XSSで何ができる?

シンプルかつ最悪なのは、Cookie(セッションID)を取得されて、ログイン状態でシステムに入られること。システムにログインされたら後はやりたい放題。
(※この場合、セッションの実装、Cookieの設定がよろしくないといった別の問題はある。)

→ 情報漏洩、データの改ざん など

ほかにCookieが取れなくても、ログインしているユーザーにしかできない操作を勝手に実行されたり、内部でしか実行されない想定の処理が実行できたりする。

→ 注文される、決済される、あなたのパスワードが変更される など

単純に他のサイトに誘導されたり、何かダウンロードさせられるのもありうる。
フォームの入力値(個人情報、クレカ情報など)を外部に送信もできる。

結果として起きることは様々。

XSS対策

基本は画面表示時のエスケープ(エンティティ化、htmlspecialchars)。
ちゃんとやってあれば問題ない。
でもいろんな事情で漏れがあるのが現実のようです。

XSS対策(補助的なもの)

WAFの導入

WAFは XSSやSQLインジェクションなどの攻撃につながりそうなリクエストを止めてくれるもの。
設定次第。
WAFは保険的なもの、念のための防護壁になります。

CSP(コンテンツ・セキュリティ・ポリシー)の設定

これもできてしまった脆弱性を突かれにくくする保険的なもの。
プログラム側で0円でできるのはいいところ。
JavaScriptに制約ができるので設定内容はよく考えて。

XSS対策は

関連するメモ

コメント