3

XPSドキュメントはどの程度安全ですか?XPSドキュメントの内部を調べた後、Unicode-stringプロパティを見つけました。誰かがexスクリプトをUnicode文字列プロパティに挿入できますか?

XPSビューアはUnicode文字列プロパティをどのように処理しますか?グリフのコレクションとして、または何として?

更新:次の文字列をUnicodeTextとして追加しました

!@#$%^&*()_+ 

XPSビューアーはファイルを開くことを拒否しました。これが私の頭に浮かんだ質問です

4

2 に答える 2

16

XPSドキュメントは、 (咳) とは対照的に、他の形式ではスクリプトやアクティブコンテンツを含めることができません。これらは、忠実度の高いプレプリント形式としてのみ使用されます。そうは言っても、XPSパーサーがセキュリティの脆弱性を封じ込めることは完全に不可能ではありません。そして、それらは悪用される可能性があります。ただし、これまでのところ、そのようなエクスプロイトについては聞いたことがありません。

しかし、あなたのポイントに戻ります。誰かがXPSドキュメントの文字列にスクリプトを入れたい場合、彼は確かにそうすることができます。彼はそれが実行されることを期待すべきではありません。一部のソフトウェアが実際にそれを行う場合、それはおそらくソフトウェアのセキュリティの問題であり、ファイル形式の問題ではありません。

マルウェアをテキストファイルに入れることができるという理由だけで(iloveyou.vbsを覚えていますか?)、それはテキストファイル自体にセキュリティの脆弱性があることを意味するわけではありません:-)

ETA:問題のUnicodeString属性は、XPSファイル内の検索に役立ちます。

UnicodeString属性は、現在の要素によって表されるUnicodeスカラー値の配列を保持します。Unicode文字列を指定することをお勧めします。これは、検索、選択、およびアクセシビリティをサポートしているためです。

文字列自体は特定の形式であることが期待されますが(115ページの標準でも詳しく説明されています)、視聴者が入力を受け入れたくない理由は、アンパサンド(&)エスケープされていないように見えます。&XMLの要求に応じてアンパサンドをエンコードすれば機能すると思います。仕様には、

標準のXMLエスケープメカニズムは、XMLで予約された文字を指定するために使用されます。

ただし、それでも、UnicodeString属性とドキュメントの他の部分との関係は非常に複雑です。彼らはそれについて半分以上のページを書き、どの組み合わせが有効でどれが無効かを書いた。ですから、さらに遊んでみる前に、まずそれを読んでおくことをお勧めします:-)

于 2009-11-17T08:18:15.703 に答える
1

XPS 1.0仕様のp.95:「標準のXMLエスケープメカニズムは、XMLで予約された文字を指定するために使用されます。」

'&'が問題を引き起こしている可能性があります。

于 2009-11-17T10:24:47.463 に答える