有什么方法可以在 C# 中生成 "sanitize" PDF 吗?
Is there any way to "sanitize" PDFs in C#?
尝试删除 PDF 中的病毒等有哪些选项?代码如何隐藏在 PDF 中?我可以至少删除其中的大部分吗?我预计仍然会有漏洞,但像下面这样删除元数据是否有帮助?
Stream stream = new MemoryStream(_fileBytes);
PdfDocument document = new PdfDocument();
document.Save(stream, true);
document.Info.Author = "";
document.Info.CreationDate = new DateTime();
document.Info.Creator = "";
document.Info.Elements = new PdfDictionary.DictionaryElements();
document.Info.Internals = new PdfSharp.Pdf.Advanced.PdfObjectInternals();
document.Info.Keywords = "";
我担心的是,如果注册用户上传了错误的 PDF,那么当其他用户从服务器下载它时,他们就会被感染。有没有更好的方法而不是尝试清理 PDF?
您应该做的一件事是按照 dman2306 的建议,在您的服务器上安装防病毒软件并让它扫描上传的文件。
除了安全必要性之外,您还可以从 pdf 文件中删除理论上可能成为攻击媒介的元素。经典的例子就是pdf文件允许嵌入并执行javscript。此功能已被多种类型的恶意软件利用。
因此您可以从文档中删除容器 javascript 中的 PdfObjects。如果我记得的话,注释还允许执行程序之类的事情,因此您也可以删除它们。
您可能认为有许多不同类型的名称可能成为攻击的潜在载体。我想到的几个是自动执行对象,就像我说的,javascript 个对象。除了推荐的病毒扫描之外,删除这些元素应该有助于最大限度地降低风险。
我去过一些地方,他们对这类场景有奇怪的要求。他们做的是把它做成邮件的附件,然后发到某个邮箱。 Exchange 服务器正在对附件进行病毒检查,因此这是完成该任务的最简单、最经济的方法。然后您以编程方式获取成功的电子邮件并下载它。
并不是说这是最好的解决方案,因为它很丑陋,但是,它已经成功地用于完成 PDF 病毒检查。
尝试删除 PDF 中的病毒等有哪些选项?代码如何隐藏在 PDF 中?我可以至少删除其中的大部分吗?我预计仍然会有漏洞,但像下面这样删除元数据是否有帮助?
Stream stream = new MemoryStream(_fileBytes);
PdfDocument document = new PdfDocument();
document.Save(stream, true);
document.Info.Author = "";
document.Info.CreationDate = new DateTime();
document.Info.Creator = "";
document.Info.Elements = new PdfDictionary.DictionaryElements();
document.Info.Internals = new PdfSharp.Pdf.Advanced.PdfObjectInternals();
document.Info.Keywords = "";
我担心的是,如果注册用户上传了错误的 PDF,那么当其他用户从服务器下载它时,他们就会被感染。有没有更好的方法而不是尝试清理 PDF?
您应该做的一件事是按照 dman2306 的建议,在您的服务器上安装防病毒软件并让它扫描上传的文件。
除了安全必要性之外,您还可以从 pdf 文件中删除理论上可能成为攻击媒介的元素。经典的例子就是pdf文件允许嵌入并执行javscript。此功能已被多种类型的恶意软件利用。
因此您可以从文档中删除容器 javascript 中的 PdfObjects。如果我记得的话,注释还允许执行程序之类的事情,因此您也可以删除它们。
您可能认为有许多不同类型的名称可能成为攻击的潜在载体。我想到的几个是自动执行对象,就像我说的,javascript 个对象。除了推荐的病毒扫描之外,删除这些元素应该有助于最大限度地降低风险。
我去过一些地方,他们对这类场景有奇怪的要求。他们做的是把它做成邮件的附件,然后发到某个邮箱。 Exchange 服务器正在对附件进行病毒检查,因此这是完成该任务的最简单、最经济的方法。然后您以编程方式获取成功的电子邮件并下载它。
并不是说这是最好的解决方案,因为它很丑陋,但是,它已经成功地用于完成 PDF 病毒检查。