允许读取XML文件的WCF服务的安全性

时间:2014-06-08 18:15:03

标签: c# xml wcf security

我有WCF服务,允许用户读取存储在服务器上的XML文档。该方法的签名如下:

XmlNode ReadXmlFile(string path)

我也有

bool WriteXmlFile(string path, XMLNode contents)

Web服务在没有管理员权限的用户下运行,这意味着它无法读取任何系统设置。我想知道:鉴于这种情况,攻击者是否有办法闯入系统?我的意思是改变系统设置,也许读取任何文件,而不仅仅是XML,e.t.c。

3 个答案:

答案 0 :(得分:1)

我认为现有系统的安全性是公平但不好的。也许还不够好。理想情况下,所有这些读写操作都应在只能由wcf服务访问的受限目录中执行。 wcf服务只能读写这个文件夹。甚至应限制此进程(wcf服务)的文件类型。时间窗口也可以受到限制。这取决于您在安全性方面要走多远。

答案 1 :(得分:0)

您可以做的是使用system.io检查它是否正在读取XML文件,并使用环境类确保它们不在系统或.net文件夹中进行读取。

答案 2 :(得分:0)

您必须考虑XXE漏洞。如果从客户端获取XML输入,则可能导致XXE漏洞,这意味着攻击者可以读取您的本地文件等。

使用PHP,您必须通过以下代码来取消实体加载程序。

libxml_disable_entity_loader(true)

https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Processing