-
Notifications
You must be signed in to change notification settings - Fork 31
文件包含
Java文件包含漏洞(Java File Inclusion Vulnerability)是一种Web应用程序安全漏洞,也称为目录遍历漏洞(Directory Traversal Vulnerability)或路径遍历漏洞(Path Traversal Vulnerability)。
Java文件包含漏洞的原因是Web应用程序在处理用户输入时没有正确地验证和过滤输入的数据,导致攻击者可以通过构造恶意的输入来访问包含在Web应用程序中的其他文件。攻击者可以利用此漏洞来读取或执行任意文件,包括敏感文件,如密码文件、配置文件、日志文件等,从而获得系统的控制权。
要防范Java文件包含漏洞,开发人员可以采取以下措施:
- 对用户输入的数据进行正确的验证和过滤,避免使用不可信的输入来动态包含文件。可以使用白名单机制来限制用户可以访问的文件和目录,避免让用户访问到Web应用程序之外的其他目录或文件。
- 使用相对路径而不是绝对路径来引用被包含的文件。相对路径是相对于当前JSP页面的路径,可以避免直接引用Web应用程序之外的文件。
- 避免在包含文件时使用外部变量,尤其是来自HTTP请求的变量。这样做容易受到攻击者的恶意操作,从而导致文件包含漏洞。
- 对Web应用程序中的所有输入和输出进行安全审计,及时发现和修复潜在的安全漏洞。可以使用Web应用程序安全扫描工具或漏洞扫描工具来检测Java文件包含漏洞。
- 更新和升级Web应用程序中使用的第三方库和框架,确保这些库和框架中没有Java文件包含漏洞。同时,及时关注安全补丁和更新,保持Web应用程序的安全性和稳定性。
总之,防范Java文件包含漏洞需要开发人员在编写Web应用程序时,加强输入验证和过滤、使用相对路径、避免使用外部变量、进行安全审计、更新第三方库和框架等多方面进行综合防范。这样才能保障Web应用程序的安全性和可靠性。
考察:路径穿越获取文件信息
点击拉取页面底部模板
修改filePath可以获取敏感文件:../../../WEB-INF/classes/druid.properties
这不是重点
先回到任意文件上传的上传压缩包处,/ElectricRat/pages/unsafeupload/unzip.html
按照之前的流程步骤,将jsp文件压缩后上传到templates
目录下面。
我们直接访问是被禁止的,但我们可以通过文件包含解析jsp文件。
../../../templates/PrintTime.jsp
考察:了解远程文件包含方式
参考payload:file:///C:/Windows/win.ini
考察:通过覆盖文件达到获取权限的目的
将恶意文件picture.png
和PrintTime.jsp
两个文件放到同一目录下。
<%@ page session="false" %>Now time is: <%=new java.util.Date()%>
通过命令copy picture.png+PrintTime.jsp a.png
将文件合成为图片木马。
创建完成后点击上传。
在下方找到已上传的文件,点击移动文件。
输入pageFooter.jsp
提示移动到 pages/fileinclude/templates
目录下
此时我们再去看游览模板/ElectricRat/pages/fileinclude/beautifulPage.jsp
我们的图片木马已经被解析了。