根据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()方法。
调试得到根路径。
成功读取到文件。