Hello there, ('ω')ノ
XIncludeを利用してファイル取得を。
XMLで制御しいので、XXEするためのDTDを定義することはできないとか。
一部のアプリケーションは、クライアントから送信されたデータを受信して。
サーバサイドでXMLドキュメントに埋め込んで、ドキュメントを解析したり。
今回は、クライアントが送信したデータが。
バックエンドのSOAPリクエストに配置されて。
バックエンドのSOAPサービスによって処理される場合に発生して。
XIncludeは、XML Inclusionの略で。
XIncludeは、既存のXMLドキュメント内に別のXMLドキュメントを含める方法で。
外部エンティティを定義するXMLコンポーネントを含めて。
それを使用してサーバからデータをリークできて。
まずは、Check stockをクリックして。
XMLは見当たらず、リピータへ。
多くの場合、攻撃者はXMLデータを完全に制御することはできないものの。
データに渡される入力を制御することはできて。
このような場合、XMLパラメータの前にエンティティを挿入できないので。
XXE攻撃を実行できないように見えて。
ただ、多くの場合はXMLのXInclude機能を使用して。
単一のパラメータにアクセスするだけでXXE攻撃を実行できて。
XIncludeをセットアップするには、パラメータにデータを挿入して。
クリアできた。
XIncludeを定義していることをXMLパーサーに示すことから始めて。
ここから、xi:includeを使用してインクルードを設定して。テキストを提供して。
テキストは、情報を取得するファイルまたはURLをhrefで指して。
<components> 要素で XInclude の名前空間を宣言して。
<components> 要素の内容に <xi:include> 要素を記述して。
href 属性で取り込む dicon ファイルのパスを指定して。
これを実行すると、ProductIDにXIncludeが与えられて。
<foo xmlns:xi="http://www.w3.org/2001/XInclude">
<xi:include parse="text" href="file:///etc/passwd"/>
</foo>
Best regards, (^^ゞ