Как записать XML / HTML в ответ HTTP, чтобы избежать недостатка Veracode XSS (CWE ID 80)? - PullRequest
0 голосов
/ 14 октября 2019

Допустим, моя конечная точка HTTP производит application/xml. Я пишу что-то вроде

protected void output(Writer writer, String xmlPayload) throws IOException {
    writer.write(xmlPayload);
}

Это всего лишь пример, реальный код более сложный. Однако здесь я получаю ошибку от Veracode:

Этот вызов содержит недостаток межсайтового скриптинга (XSS). Приложение заполняет HTTP-ответ ненадежным вводом, позволяя злоумышленнику встраивать вредоносный контент, такой как код Javascript, который будет выполняться в контексте браузера жертвы.

Но я только что произвел этоxmlPayload сам, из какого-то ПОГО. И мне действительно нужно написать не экранированную строку XML.

Я не могу избежать xmlPayload как сам, я получу <version>3</version>, что глупо.

Как можно исправить этот недостаток veracode без экранирования всей строки?

...