jinyouxin
原创
关注
0点赞·152人阅读
目录
(一)、 文件 *** 作漏洞简介
(二) 、漏洞发现与修复案例
2.1 文件包含漏洞
2.2 文件上传漏洞
(三) 文搏悄件下载/读取漏洞
(四).文件写入漏洞
(五).文件解压漏洞
小结
(一)、 文件 *** 作漏洞简介
文件 *** 作是 Java Web 的核心功能之一,其中常用的 *** 作就是将服务器上的文件以流的形式在本地读写,或上传到网络上,Java 中的 File 类就是对这些存储于磁盘上文件的虚拟映射。与我们在本地计算机上 *** 作文件类似,Java 对文件的 *** 作同样包括上传、删除、读取、写入等。Java Web 本身去实现这些功能是没有漏洞的,但是由于开发人员忽略了一些细节,导致攻击者可以利用这些历银培细节通过文件 *** 作 JavaWeb 本身的这一个功能,从而实现形如任意文件上传、任意文件下载/读取、任意文件删除等漏洞,有的场景下甚至可以利用文件解压实现目录穿越或拒绝服务攻击等,对服务器造成巨大的危害。
(二) 、漏洞发现与修复案例
2.1 文件包含漏洞
文件包含漏洞通常出现在由 PHP 编写的 Web 应用中。我们知道在 PHP 中,攻击者可以通过 PHP 中的某些包含函数,去包含一个含有攻击代码的恶意文件,在包含这个文件后,由于 PHP 包含函数的特性,无论包含的是什么类型的文件,都会将所包含的文件当作 PHP 代码去解析执行。也就是说,攻击者可能上传一个木马后缀是 txt 或者 jpg 的一句话文件,上传后利用文件包含漏洞去包含这个一句话木马文件就可以成功拿到 Shell 了。
那肢唯么 Java 中有没有类似的包含漏洞呢?回答这个问题前,我们首先来看一看Java 中包含其他文件的方式
JSP 的文件包含分为静态包含和动态包含两种:
静态包含:%@include file="test.jsp"%。
动态包含:<jsp:include page="<%=file%>"></jsp:include>、<c:import url="<%=url%>"></c:import>
由于静态包含中 file 的参数不能动态赋值,因此我目前了解的静态包含不存在包含漏洞。相反,动态包含中的 file 的参数是
这个问题在websphere上并不少见,简单来说,就是出现过多内存泄漏,或者分配过多大内存等,websphere的垃圾回收功能失败而导致。除了产生heapdump****.txt,还会产生javacore***.txt,偶吵历闭尔产生Core文件烂搜。heapdump期间,websphere失去响应,过后,websphere可能恢复正常,也可能崩溃。ibm网站上有不少关于这个问题的信息。
根据我的经验,解决这个问题的方法为:
1.进入was管理控制台,选择 应用程序服务器 >server1 >进程定义 >Java 虚拟机,将"最大堆大小"改为768或1024以上(跟机器内存相关,你的机器最好有升裂较大内存)。保存。
2.优化你的程序,减少要求分配较大内存的设计,优化数据连接池。
3.给was打补丁。ibm网站上有相关补丁下载,不过最好升级到同系列的最新版本
前两步多数可以改善websphere的运行情况,但最好执行第三步。
一般这个问题也与 *** 作系统有关,要彻底解决,还得综合分析
你用的是eclipse????如果团携将文件上传目录设搏或滑置在项目中,比如基腊 /webContent 下的目录
那么你用eclipse重启项目的时候,就会重新部署,webcontent下的内容(没有文件)会重新覆盖tomcat的目录。文件就消失了
正式生产环境应该不会。但还是建议用其他方式:比如tomcat host节点下 的软链接
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)