要在客户端浏览器中打开pdf文件,我正在使用以下服务器端C#代码
context.Response.BinaryWrite(byteArray);
现在问题是Veracode在此行上存在XSS漏洞(CWE ID 80)。
任何人都可以帮助我解决这个缺陷吗?
这是表明污染数据正在请求的响应流中的指示。这意味着攻击者可以潜在地将数据注入您的网站(我们称为XSS),或者在这种情况下将您的pdf文件注入(不同于XSS,但仍然存在注入漏洞)。我会确保没有一个向量可以使攻击者将任意数据注入到您的PDF文件中,而这些数据可能会损害该PDF文档的使用者。
推荐之一是使用MemoryStream
:
using(var ms = new MemoryStream(data)){
context.Response.BinaryWrite(ms.GetBuffer());
}
但是它不起作用。