弊社では(既製の製品ではなく)独自開発したWebアプリスキャナを使用しており、品質や作業効率の向上のため、そのツールを毎年少しずつ改善させています(開発には主に筆者があたっています)。 本記事では、今年(2020年)の4~6月に開発した「XSSのトドメを刺す」機能について簡単に紹介します。 機能の概要 XSSの「トドメを刺す」というのは、ちゃんとJavaScriptが動作しそうな値を自動で生成して送り、それが本当に動きそうかを自動で確認することを指しています。 トドメ機能が実現する前は、記号等が含まれる値を送信し、それが反射する箇所の文脈(コンテキスト)の情報と、出力に施されるエンコードやフィルタの情報だけをもって脆弱性の有無を判断していました。例えば、通常の要素内容テキストにパラメータの値が反射するケースで言えば、基本的にツールが確認するのは「<」が反射するか否かまでで、実際に有意なタグ