開発
XSS について
Mikio Endo
XSSと言葉を聞いたことがありますか?
XSSと言うのは、cross site scripting (CSS)と呼ばれたりもしますが、cascading style sheets(CSS)と同じ頭文字なので、区別するためにXSS(クロスサイトスクリプティング)と呼ばれています。
XSSの定義は、wikipediaによると
ウェブページの部分をユーザからの入力をそのままエコーバック(おうむ返し)することによって生成しているアプリケーションのセキュリティ上の不備を利用して、サイト間を横断して悪意のあるスクリプトを注入する攻撃のことをいう。また経緯上、それを許してしまう脆弱性についても、このように呼ばれている。
となっています。
簡単に説明しますと、webページやブラウザの脆弱性や人為的なミスを利用して、任意のコードが実行できてしまう。という脆弱性になります。
一番一般的なXSSの例をあげますと、
” <script>alert(“XSS”)</script>
このコードをフォームに書いて実行した時にXSSというポップアップが出るかどうかを確認します。
これでポップアップが出てしまうと何が危険かというと、今回の場合入力フォームに入力したはずのデータなのにjavascriptのコードが実行できてしまったという点にあります。今回のように、ただポップアップを出すだけのコードなら全く問題ないのですが、
<script>alert(document.cookie)</script>
のような、コードが実行されてしまう可能性が有ります。本来ならば他者のcookieを確認する方法はありませんが、このコードを実行するとcookieの情報を盗み取られてしまう可能性があります。
このようにXSSとは、とても危険な脆弱性です。 webページを作成する際は、このようなXSSを作りこまないように気をつけましょう。