使用PHP验证查找恶意PDF文件?

Sun*_*dar 9 javascript php pdf validation file-upload

目前,对于文件验证,实施了以下操作,

  • 使用MIME详细信息(如application/pdf)进行文件类型验证
  • 验证文件扩展名以及MIME详细信息.

但是一些PDF文件包含像JavaScript这样的恶意脚本来破坏系统

有关PDF攻击的更多详细信息:

http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=cve-2008-2992

问题:对于这种情况,任何推荐的解决方

Paw*_*iel 2

看看这个项目https://github.com/urule99/jsunpack-n - 通用 JavaScript 解包器

jsunpack-n 在访问 URL 时模拟浏览器功能。其目的是检测针对浏览器和浏览器插件漏洞的攻击。它接受许多不同类型的输入:( 也包括 PDF*)

通过查看该文件https://raw.githubusercontent.com/urule99/jsunpack-n/master/pre.js看起来它直接解决了您的问题。

var util = {
375     printf : function(a,b){print ("//alert CVE-2008-2992 util.printf length ("+ a.length + "," + b.length + ")\n"); },
Run Code Online (Sandbox Code Playgroud)

上传时,我会将 pdf 输入到此工具中并检查结果。

下面是一些与该漏洞相关的有趣资源,它们深入解释了一切。

http://resources.infosecinstitute.com/hacking-pdf-part-1/

http://resources.infosecinstitute.com/hacking-pdf-part-2/

在文章的第 2 部分中有一个片段说您可以使用 Spider Monkey 执行 pre.js (我前面提到的文件)来获取有关 CVE 的信息

js -f pre.js -f util_printf.pdf.out

//警报CVE-2008-2992 util.printf长度(13,未定义)