接受PDF文档和可执行脚本

时间:2009-08-12 23:32:30

标签: ruby-on-rails security

如果我允许用​​户上传PDF文档(并且只有PDF)恶意用户是否有任何方式可以在文档中包含或附加一些可执行脚本?标准word文档怎么样?如果这是一项要求,有哪些最佳做法? (对不起,我知道这3个问题 - 但它们都适用!;))

我正在使用thinkbot的paperclip插件,我相信你可以按文件类型进行限制。

2 个答案:

答案 0 :(得分:2)

某些内容是否“可执行”比您尝试执行更重要。文件只是一个字节序列。代码只有在实际执行时才是危险的 - 仅仅传输文件的行为,只要该文件的目的地是安全的,就不会真正造成伤害。可能造成伤害的是,如果您以某种方式将上传的文件作为命令调用,或者将其传递给某种形式的渲染引擎,该引擎将接受来自文件的指令以执行操作。

答案 1 :(得分:0)

你想保护谁?

如果是你自己 - 根据Dav的回答,你会没事的。危险来自于尝试在服务器上执行或打开代码。因此,除非您的服务器自动在Adobe中打开文件,否则您很酷。

如果您是用户那么您就遇到了麻烦。 Adobe Acrobat是一个0天的pdf漏洞(如Dav的回答评论中所述)。通过使用像Foxit这样的替代pdf查看器可以减轻大多数人的影响,但是你无法控制它。如果您想保护您的用户免受PDF漏洞利用和Word宏的攻击,那么您将面临严峻的挑战。病毒扫描程序可以检测Word宏;但不是Adobe的漏洞(不管怎样都不是)。