Насколько безопасны документы XPS? - PullRequest
3 голосов
/ 17 ноября 2009

Насколько безопасны документы XPS? После просмотра документа XPS изнутри было найдено свойство Unicode-string. Может ли кто-нибудь сделать инъекцию e.x. сценария в строковое свойство Unicode?

Как средство просмотра XPS обрабатывает свойство строки Unicode? Как коллекция глифов или как?

ОБНОВЛЕНИЕ: Я добавил следующую строку как UnicodeText

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

и программа просмотра XPS отказалась открыть файл. Вот как этот вопрос возник у меня в голове

Ответы [ 2 ]

16 голосов
/ 17 ноября 2009

XPS-документов, в отличие от (кашляет) , некоторых других форматов не могут содержать сценарии или активное содержимое. Они только используются в качестве пре-печатного формата высокой точности. При этом парсеры XPS не могут полностью содержать уязвимости безопасности. И они могут быть использованы. Пока что я не слышал о подобных подвигах.

Но вернемся к вашей точке. Если кто-то хочет поместить скрипт в строку в документе XPS, он, безусловно, может это сделать. Он просто не должен ожидать, что это будет выполнено. Если какое-то программное обеспечение на самом деле делает , то, вероятно, это проблема безопасности программного обеспечения, а не формата файла.

То, что вы можете помещать вредоносное ПО в текстовый файл (помните iloveyou.vbs?), Не означает, что сами текстовые файлы имеют уязвимость безопасности: -)

ETA: Атрибут UnicodeString, о котором идет речь, помогает выполнять поиск в файле XPS:

Атрибут UnicodeString содержит массив скалярных значений Unicode, представленных текущим элементом. Указание строки Unicode РЕКОМЕНДУЕТСЯ, поскольку она поддерживает поиск, выбор и доступность.

И хотя ожидается, что сама строка будет в определенном формате (также подробно описанном в стандарте на стр. 115), причина, по которой зритель не хотел принимать ваш ввод, заключается в том, что это даже не правильно сформированный XML, амперсанд (&) кажется незапертым. Я предполагаю, что это будет работать, если вы закодируете амперсанд как &, как того требует XML. В спецификации также говорится, что

Стандартные механизмы экранирования XML используются для указания зарезервированных символов XML.

Но даже с учетом этого связь между атрибутом UnicodeString и другими частями документа довольно сложна. Они написали более половины страницы о том, какие комбинации действительны, а какие нет. Поэтому я бы посоветовал вам сначала прочитать об этом, прежде чем пытаться поиграть дальше: -)

1 голос
/ 17 ноября 2009

стр.95 спецификации XPS 1.0: «Стандартные механизмы экранирования XML используются для указания зарезервированных символов XML».

«&» может вызывать проблемы.

...