我允许客户在网站上共享 xml 文件,他们可以上传和下载文件。我使用 php 和 simpleXML 来解析文件,但现在不做任何检查来验证文件,除了:
if( ! $xml = simplexml_load_file('xml/'.$xml_file) ){
echo 'unable to load XML file';
// run redirect script and explain there was a problem with the XML file
}
我尝试使用谷歌搜索并无法真正找到明确的答案是是否有人可以在 XML 中上传病毒。这听起来有些牵强,但普遍的共识是任何文件都可能带有病毒。我找不到任何关于他们如何在 XML 文件中植入病毒或我可以做些什么来检查恶意代码的信息。
我确切地知道 XML 文件应该包含什么格式,即那里有哪些节点,我可以创建一个可接受的节点列表,如果它包含任何不接受拒绝文件的节点吗?
病毒是否植入节点内,例如
<node ="<?php delete * from table where id > 0; ?>"
或类似的东西,这是否意味着该病毒仅在其在 Internet 浏览器或应用程序中运行时才被启用?
所有 xml 文件用于存储将被解析以显示表格的设置和表格属性,xml 文件通常具有表格中单元格的宽度和颜色等值和属性,它也将运行在用 C# 编写的桌面应用程序做几乎相同的事情。
有没有办法逃避 XML 中的注入/病毒,或者有什么资源可以指向我可以阅读的地方。