Fengcms 最新版v1.24任意文件下载(绕过过滤)

- AV AC AU C I A
发布: 2025-04-13
修订: 2025-04-13

### 简要描述: 之前fengcms修复了好几次这个问题,但依旧知识不对。不过到我这个应该就终结了,我会给出好的解决方案。这也不是厂商的问题,如果不是专门搞安全的人也很难考虑到这一点。 多说一句,fengcms送的礼物已经收到了,再次感谢!这种厂商要奖励,很负责!! 官方给出的测试站已经升到最新版了,我这里测试通过,已经可以下载config.php。 ### 详细说明: /app/controller/downController.php: ``` class downController extends Controller{ public function index(){ $_GET['file']=base64_decode($_GET['file']); $_GET['file']=str_replace("..","",$_GET['file']); $exp=explode("/",$_GET['file']); if($exp[1]=="upload"){ if(file_exists(ROOT_PATH.$_GET['file'])){ header("Content-Type: application/force-download"); header("Content-Disposition: attachment; filename=".basename($_GET['file'])); readfile(ROOT_PATH.$_GET['file']); }else{ echo '<script type="text/javascript">alert("您要下载的文件不存在!");history.back();</script>'; } }else{ echo '<script type="text/javascript">alert("您要下载的文件不存在!");history.back();</script>'; } } } ``` 看他是怎么处理的: 1.base64_decode解码 2.过滤..为空 3.将$_GET['file']用/分割成$exp,并取第二个($exp[1]),判断$exp[1]是否等于upload,等于才允许下载 4.将root_path和$_GET['file']组合成绝对路径,下载文件...

0%
暂无可用Exp或PoC
当前有0条受影响产品信息