使用Flex和ASP.NET保存文件时,如何防止XSS漏洞?

时间:2009-11-09 17:30:33

标签: asp.net flex xss alivepdf

我使用alivePDF在我的flex应用程序中实现了PDF生成功能,我想知道我用来将文件传递给用户的过程是否会造成XSS漏洞。

这是我目前使用的流程:

  1. 在Flex应用程序中创建PDF。
  2. 使用POST将二进制PDF文件发送到服务器,并附带文件名以将其作为。
  3. 发送
  4. 服务器上的ASP.NET脚本检查文件名以确保其有效,然后将其作为HTTP附件发送回用户。
  5. 鉴于此,我应采取哪些措施来阻止XSS?

2 个答案:

答案 0 :(得分:0)

文件名以外是否还有其他GET或POST参数?

在预防XSS方面,有三种主要策略:验证,转义和过滤。

验证:检测到无效字符后,拒绝POST请求(并向用户发出错误)。

转义:保存文件时可能不适用,因为您的操作系统会对有效文件名有限制。

过滤:自动删除任何无效字符的POST文件名参数。这是我建议你的情况。

在ASP.NET脚本中,立即获取POST字符串并删除以下字符: < > &安培; '“?%#; +

答案 1 :(得分:0)

XSS如何被利用?您没有直接向用户输出内容。文件系统只会拒绝奇怪的字符,当把文件放在输出流上时,名称和内容都很重要。