簡體   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