专栏名称: 哈拉少安全小队
专注安全研究,漏洞复现,代码审计,python poc/exp脚本开发,经常更新一些最新的漏洞复现,漏洞分析文章,以及脱敏的实战文章。
今天看啥  ›  专栏  ›  哈拉少安全小队

【代码审计】某系统存在文件覆盖导致getshell

哈拉少安全小队  · 公众号  ·  · 2024-07-21 11:29
    

文章预览

一、漏洞审计 问题出现在admin/filemanager接口的index方法 漏洞条件1 、 获取了请求参数的path 漏洞条件2 、 在该方法里,可以看到当请求方法为post,而且mode=savefile,needpath与content参数不为空时,就会进入fm.savefile方法里。 漏洞执行、 FileManagerUtils.writeString像是将content里的内容写入到getRealFilePath()里面。 先查看backupfile方法是干什么的。 targetPath路径是由默认系统配置路径和src参数路径组成的 跟进copyfile方法,该方法是将src路径的文件内容复制到target路径的文件内容,如果复制失败,即源文件(src)不存在,会导致FileNotFoundException或者在transferFrom操作时抛出IOException,使方法执行停止。 回到savefile,只要backupfile不报错,就可以执行FileManagerUtils.writeString。 其中getRealFilePath方法获取的路径是系统配置路径+请求参数的path路径。 通过断点可知系统配置路径如 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览