Ошибка XSS в BinaryWrite

Чтобы открыть файл PDF в браузере на стороне клиента, я использую следующий код С# на стороне сервера.

context.Response.BinaryWrite(byteArray);

Теперь проблема в том, что Veracode дает ошибку XSS (CWE ID 80) в этой строке.

Может ли кто-нибудь помочь мне, как решить этот недостаток?


person Kandarp Shah    schedule 12.09.2013    source источник


Ответы (1)


Это индикатор того, что испорченные данные попадают в поток ответа на запрос. Это означает, что злоумышленник может потенциально внедрить данные на ваш веб-сайт (мы называем это XSS) или, в данном конкретном случае, в ваш pdf-файл (отличается от XSS, но все же является слабым местом внедрения). Я хотел бы удостовериться, что злоумышленник не может внедрить произвольные данные в ваш PDF-файл, которые могут быть использованы для компрометации потребителя этого PDF-документа.

person m0nty    schedule 12.09.2013
comment
Но как это исправить? Как бы вы обошли этот сбой Veracode? Как код должен отражать это? - person gene; 03.09.2015
comment
@ m0nty, как исправить эту уязвимость? - person Flying Dutchman; 29.01.2018
comment
К сожалению, ответ: это зависит. Без полного источника узнать невозможно. Вообще говоря, вы должны убедиться, что переменная, которая записывается в поток ответов, поступает из надежного источника, который не содержит непроверенных пользовательских данных. - person m0nty; 05.02.2018