如果我允许用户上传PDF文档(并且只有PDF)恶意用户是否有任何方式可以在文档中包含或附加一些可执行脚本?标准word文档怎么样?如果这是一项要求,有哪些最佳做法? (对不起,我知道这3个问题 - 但它们都适用!;))
我正在使用thinkbot的paperclip插件,我相信你可以按文件类型进行限制。
答案 0 :(得分:2)
某些内容是否“可执行”比您尝试执行更重要。文件只是一个字节序列。代码只有在实际执行时才是危险的 - 仅仅传输文件的行为,只要该文件的目的地是安全的,就不会真正造成伤害。可能造成伤害的是,如果您以某种方式将上传的文件作为命令调用,或者将其传递给某种形式的渲染引擎,该引擎将接受来自文件的指令以执行操作。
答案 1 :(得分:0)
你想保护谁?
如果是你自己 - 根据Dav的回答,你会没事的。危险来自于尝试在服务器上执行或打开代码。因此,除非您的服务器自动在Adobe中打开文件,否则您很酷。
如果您是用户那么您就遇到了麻烦。 Adobe Acrobat是一个0天的pdf漏洞(如Dav的回答评论中所述)。通过使用像Foxit这样的替代pdf查看器可以减轻大多数人的影响,但是你无法控制它。如果您想保护您的用户免受PDF漏洞利用和Word宏的攻击,那么您将面临严峻的挑战。病毒扫描程序可以检测Word宏;但不是Adobe的漏洞(不管怎样都不是)。