以下がコードスニペットである場合、あなたの提案は何ですか?
<script type="text/javascript" src="<%=request.getHeader("Host")%>/XXX/xxx.js"></script>
これはXSSの明確な例ですか?はいの場合、攻撃者が使用できる攻撃シナリオは何ですか?
これはXSSの脆弱性ですが、悪用するのは非常に困難です。たとえば、次のURLを見てください。
http://anything."><script>xss</script>.example.com/aa/bb
このURLに移動すると、HostパラメーターにXSSペイロードが含まれますが、次のようになります。
<script>
は%3Cscript%3E
になります)。もちろん、ブラウザ外でリクエストを偽造することもできます。VirtualHost
としてインストールされている場合、このHost
ヘッダーはどのVirtualHost
とも一致せず、フォールバックまたは最初のVirtualHost
。このXSSが格納され、反映されていない場合は、(1)DNSおよび(2)エンコード要件をスキップできるため、はるかに危険です。ブラウザの外に手動のHTTPリクエストを送信することで、ペイロードを植えることができます。このペイロードは、脆弱なサイトの「標準」のブラウザベースの訪問者に表示されます。
結論として、これはXSSの脆弱性ですが、悪用される可能性は低いです。それでも、アプリケーションは表示されているHostヘッダーをエスケープして修正する必要があります。