繁体   English   中英

如何在.NET Core的PDF文档中找到Java脚本?

[英]How to find Java Script in PDF document in .NET Core?

我需要在服务器端(.NET Core)实现检查 PDF 文档是否存在 Java 脚本的能力。 如果那里有脚本,那么我需要通知用户。 是否可以在不使用付费图书馆的情况下做到这一点? 我将不胜感激任何想法。

跨平台 poppler utils 是最简单易用的,不保证任何手段都会发现故意遮挡 JavaScript

pdfinfo -js filename.pdf

将 output 作为纯文本嵌入任何标准 JavaScript,因此如果文本看起来模糊不清,您可以预先警告有异常。

带有普通/JavaScript条目的常见 PDF 将通过简单的纯文本搜索显示。

对于可疑或压缩的文件对象,一个简单的扩展是使用 pdf 解压缩器(如果需要将任何内容显示为纯文本,则必须解压缩内部流)和文本搜索/JavaScript标记,例如:-

<</S/JavaScript/JS(\n\r\n\r\n// T

然而,一篇关于 PDF 漏洞利用的文章可以合法地包含此文本
Td [(/JavaScript)]TJ

并且 JS 很容易在运行时进行自我编辑,因此不会以这种简单的方式检测到/JavaScr##69pt

您可能会发现感兴趣的第 4 页https://web.archive.org/web/20150421225342if_/http://cs.gmu.edu:80/~astavrou/research/Daiping_dsn14.pdf

对于具有可变答案的类似问题(针对 PHP),请参阅Find malicious PDF files using PHP validation?

使用 PDFsharp 和 MigraDoc,可以免费使用,因为它是开源的 ( http://www.pdfsharp.net/Licensing.ashx )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM