【支援士22年 #14】App Goat XSS クロスサイトスクリプティング 勉強メモ
YOUTUBE まさるの勉強部屋より引用。
https://www.youtube.com/watch?v=raaYESe7z8o&list=PLfrpqyRFsglK9hTQuYo_eL9oP5T68Il4G&index=14&t=14s
App GoatはIPAが公開しているウェブアプリケーション用学習用ツール。
■App Goat申請
https://www.ipa.go.jp/security/vuln/appgoat/toolabust.html
クロスサイト・スクリプティングの概要
スクリプト(JavaScriptなど)は、ブラウザ上で実行される命令の一種です。このスクリプトでウェブページの内容を動的に入れ替えたり、ユーザの入力したデータをチェックしたりすることができ、一般的に動きのあるウェブページを構築する際に利用されます。
基本的な検査方法
HTMLで出力する時に「<」を「<」に置換するなど、特別な意味を持つ文字を、特別な意味を持たない表記文字に置換することをエスケープ処理と言います。
もし、受け取った入力データを、エスケープ処理を行わずに画面に出力している箇所があれば、クロスサイト・スクリプティングの脆弱性になります。
応用的な検査方法
「基本的な検査方法」では画面上から入力する例を示しましたが、パラメータは画面上から入力できるパターンだけではありません。
画面上に表示されないhidden属性やリストから選択式になっているデータも検査可能です。
入力データを引き渡す方法は2種類あり、パラメータ情報をURLの末尾に追加して送信している方式をGET方式といいます。URLにパラメータ情報を含まず、本文の一部として送信している方式をPOST方式といいます。