ファイルアップロードの機能を備えたウェブアプリケーションをテストしています。可能なファイル形式はXMLのみです。 XML属性で保存されたファイルのコンテンツは、別のページに表示されます。
たとえば、XMLファイルは次のようになります。
<?xml version="1.0" encoding="utf-8"?>
<Request xmlns="http://www.w3.org/1.0">
<Body CaseId="Test/123656">
<person gender="female">
<note date="2008-01-10">
</Body>
</Request>
CaseID、性別、日付の値は、別のページに示されています。 Webアプリケーションが「<」をブロックする場合、属性値で何らかの方法でXSSペイロードを送信することは可能ですか? XXEもテストしたいのですが、属性値で外部エンティティを参照できますか?
XMLパーサーは通常Unicodeを解釈するため、\u00HH
という形式を使用して<>
の検証をバイパスできます。次に例を示します。
\u003Cscript\u003Ealert(1);\u003C/script\u003E
XMLパーサーがビューに表示するデータ構造を読み取ると、Unicode文字が解釈され、結果は次のようになります。
<script>alert(1);</script>
この情報がお役に立てば幸いです。