在文件上传过程中拒绝带有嵌入式 JavaScript 代码的 PDF 文件。(XSS)

Reject PDF files with embedded JavaScript code during file uploads. (XSS)

提问人:Sarahbe 提问时间:7/25/2023 更新时间:7/25/2023 访问量:263

问:

我有一个应用程序,我正在用于客户端和服务器端。 该应用程序允许用户将PDF文件上传到系统,并且可以稍后查看。如何在文件上传过程中拒绝带有嵌入代码的 PDF 文件以防止跨站点脚本 (XSS)?Angular.NET coreJavaScript

C# Angular 安全性 .net-core xss

评论


答:

0赞 K J 7/25/2023 #1

通常无法确定客户端是否有病毒/特洛伊木马或病毒/特洛伊木马文件可供上传。

大多数脚本表单可能经常有这样的内容(一个很好的理由不称这些为.pdf,而是说.XFA 或 .XMP 不笨.PDF)

只有在上传文件后,才能知道可以在实验室中运行诊断的位置,以查看内部脚本是安全的(良性)还是癌变的。

除非您提供防病毒上传器,否则将责任放在导入点可能毫无意义,该上传器充分利用客户端设备在上传文件时反汇编和分析客户端硬盘扇区。

无法区分 %PDF-ifect 和 %PDF-ifect,其中一个是 mper,另一个是 n**

一条消息可以简单地说:请在完成时发送此表格或JS炸弹。

很少有脚本小子会傻傻地留下像这个良性脚本这样简单的脚本,因此简单地寻找 /Javascript 只会淘汰恶作剧者。

6 0 obj
<<
/JavaScript <<
/Names [(AScript) <<
/JS (app.alert\({\r\ncMsg: "Gotcha! Try again!", \r\ncTitle: "Acme Testing Service"\r\n}\);)
/S /JavaScript
>>]
>>
>>
endobj