根据POC分析代码

根据POC分析代码

赤弋安全团队 2025-02-17 00:00

POC:

https://github.com/wy876/POC/blob/main/JFinalCMS/JFinalCMS%20%E4%BB%BB%E6%84%8F%E6%96%87%E4%BB%B6%E8%AF%BB%E5%8F%96%E6%BC%8F%E6%B4%9E(CVE-2023-41599).md

根据 POC 找到相对应的接口。

找到接口之后,点击进入相对应的 java 文件。

这里 file() 方法也被拼接接口,应该是系统自己封装的方法,接着我们点击进入getPara

很明显,这里就是使用了request.getParameter
,获取了当前参数fileKey

接下来就是分析 renderFile
函数,点击进去,然后定位代码位置。

很明显是自己封装的方法,我们直接网上搜索,查看它的文档。

https://jfinal.com/doc/3-8

可以看出,此方法就是用于下载文件的。

接下来分析getWebRootPath()
方法。

这里显示,如果根路径为空,就让路径等于detectWebRootPath()

继续点击去detectWebRootPath()
方法。

此方法就是用来识别 web 根路径。

接下来,打上断点,进行调试。

fileKey=/../1.txt
,继续下一个断点,进入 File()方法。

调试得到根路径。

成功读取到文件。