阻止从xml和其他文本文件执行代码

问题描述 投票:1回答:1

我在Flask写一个网站,允许用户上传然后查看文本文件(JSON和XML)。我发送带有Content-typeapplication/json头的JSON文件,然后用application/xml发送XML。

从表单上传文件后,我使用secure_filename()处理名称。我使用文件对象上的save()方法将文件保存到服务器。这些文件保存在我服务器上的目录中。否则,我不处理文件;为了我的项目的目的,重要的是xml标签保持完整,因为以后用户可能会选择解析文件。

要将文件提供给用户,我使用send_from_directory

我的问题是,这个设计是否容易受到XSS或代码注入的影响,如果是这样,我该如何防止此类攻击呢?

xml security flask xss code-injection
1个回答
2
投票

不,您的设计不容易受到XSS攻击。在任何时候,您都不会使用任何用户提供的内容来自行生成您的网页。

内容作为黑盒子通过我们的网站;从浏览器到您的文件系统,然后返回到可能选择再次下载内容的其他HTTP客户端。

您完全控制的文件名,您永远不会读取文件的内容,您从不采取任何文件内容并将它们放入生成的HTML内容中。

可能存在的唯一问题是有人上传了一个非XML或JSON的文件,实际上是一个利用下载程序用来解析文件的漏洞的文件。然而,这不是XSS攻击。

© www.soinside.com 2019 - 2024. All rights reserved.