我正在为客户创建一个安全文档门户。他们担心的事情之一是有人上传带有病毒的文档。一个可能有效的解决方案是强制他们只上传 pdf 文件。
我的问题有两个:
- 最重要的是,pdf 文档能防病毒吗?
- 除了查看扩展名之外,在 *nix 环境中如何判断文件是否为 pdf。
答案1
PDF(及其阅读器)是肯定不能免疫攻击(此处有一个例子;谷歌搜索pdf vulnerability
或pdf arbitrary code execution
应该会有更多结果)。
在 *nix 环境中,检查文件内容file
可能是一个开始。
答案2
如果我没记错的话,Unix/Linux 有一个名为“file”的命令,它会告诉你它是什么类型的文件。
答案3
理论上,PDF 不能包含任何可执行代码;但是,如果查看器存在漏洞,特制的 PDF 文件可能会让查看器运行本机代码。例如,Adobe (Acrobat) Reader 因缓冲区溢出问题而臭名昭著。每个查看器都有自己的一组漏洞,最重要的是保持查看器更新。
file myfile.pdf
将打印包含 的内容PDF document
。
答案4
最近有一篇关于 PDF 易受病毒感染的文章任何查看者;搜索链接。
http://it.slashdot.org/story/10/04/06/1434222/No-JavaScript-Needed-For-New-Adobe-Exploits