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

发布于 2024-08-10 19:13:28 字数 270 浏览 8 评论 0原文

我已经使用alivePDF在我的flex应用程序中实现了PDF生成功能,我想知道我用于将文件获取给用户的过程是否会创建XSS漏洞。

这是我当前正在使用的过程:

  1. 在 Flex 应用程序中创建 PDF。
  2. 使用 POST 将二进制 PDF 文件连同要传送的文件名一起发送到服务器。
  3. 服务器上的 ASP.NET 脚本检查文件名以确保其有效,然后将其作为 HTTP 附件发送回用户。

鉴于此,我应该采取哪些措施来防止 XSS?

I've implemented a PDF generation function in my flex app using alivePDF, and I'm wondering if the process I've used to get the file to the user creates an XSS vulnerability.

This is the process I'm currently using:

  1. Create the PDF in the flex application.
  2. Send the binary PDF file to the server using a POST, along with the filename to deliver it as.
  3. An ASP.NET script on the server checks the filename to make sure it's valid, and then sends it back to the user as an HTTP attachment.

Given that, what steps should I take to prevent XSS?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

你没皮卡萌 2024-08-17 19:13:28

除了文件名之外还有其他 GET 或 POST 参数吗?

预防XSS主要有三种策略:验证、转义和过滤。

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

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

过滤:自动去除 POST 文件名参数中的任何无效字符。这就是我针对您的情况所推荐的。

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

Are there any other GET or POST parameters other than the filename?

In preventing XSS, there are three main strategies: validation, escaping, and filtering.

Validation: Upon detecting nvalid characters, reject the POST request (and issue an error to the user).

Escaping: Likely not applicable when saving the file, as your OS will have restrictions on valid file names.

Filtering: Automatically strip the POST filename parameter of any invalid characters. This is what I'd recommend for your situation.

Within the ASP.NET script, immediately grab the POST string and remove the following characters:
< > & ' " ? % # ; +

陪我终i 2024-08-17 19:13:28

这将如何被 XSS 利用?您不会直接向用户输出某些内容。文件系统只会拒绝奇怪的字符,并且当将文件放入输出流时,名称和内容并不重要。

How is this going to be XSS exploitable? You aren't outputting something directly to the user. The filesystem will just reject strange characters, and when putting the file on the output stream, the name nor the content does matter.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文