java - endsWith 是否考虑路径的文件扩展名,这是否是一个安全漏洞?

标签 java security

当我调用 endsWith(".pdf") 时,会打开恶意软件.pdf.exe 还是仅打开恶意软件.pdf?

String sFileName = request.getParameter("fName");
if (sFileName.toLowerCase().endsWith(".pdf"))
// open file
else
// don’t open the file

最佳答案

String.endsWith 按文档说明工作。但是,这里存在一些明显的问题。

  • 就操作系统文件 API 而言,NUL 字符 \0 通常会终止字符串(因为它将使用 C 字符串)。

  • 如果提供,可能会因扩展而丢失内容,可能会被更改为不同的类型。

  • 从本地文件系统运行从互联网下载的 PDF 通常是危险的。 (Chrome 会对此发出警告,并在 Content Smuggling 上查看 Billy Rios)。

关于java - endsWith 是否考虑路径的文件扩展名,这是否是一个安全漏洞?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12926229/

相关文章:

html - 当您允许用户在您的网站上编辑 HTML 和 CSS 时,您应该采取哪些预防措施?

ajax - AJAX 检查用户名功能的安全性

java - 我可以使用 ssh 运行 java jar 程序吗?

java - 初学者问题: Inserting Emoji in Java

java - 需要帮助让数字一直翻倍到中间

security - 你能以多快的速度对 PBKDF2 进行暴力破解?

java - 时间轴动画JavaFX

java - hibernate 。如何将自己的类映射为实体中的属性类型?

sql - 我可以通过转义单引号并用单引号包围用户输入来防止 SQL 注入(inject)吗?

java - Play Framework 安全模块