前言:
在网络安全领域,代码审计是一项重要的工作,通过审计源代码,发现并修复潜在的安全漏洞,是确保系统安全的重要步骤之一。本文将深入分析 Emlog_Pro 存在的两个后台任意文件上传漏洞,以揭示其中的安全隐患并提供解决方案,旨在帮助读者更好地理解代码审计的流程和技术。
环境配置:
受影响版本:Emlog Pro 2.2.0
漏洞存在位置:
/admin/plugin.php
存在任意文件上传漏洞/content/templates/
存在任意文件上传漏洞
代码审计:
CNVD-2023-74535:
根据 CNVD 报告,/admin/plugin.php
存在任意文件上传漏洞,攻击者可利用该漏洞上传恶意文件,并执行任意代码。首先,我们分析了页面结构,发现了上传功能。
我们定位到了上传函数 upload_zip
,该函数首先检查上传文件是否为 .zip
格式,然后将其解压至指定目录。我们尝试上传一个包含 PHPinfo 的文件,但上传失败。
通过调试,我们发现上传失败的原因是路径问题。进一步定位到 emUnZip
函数,我们发现需要获取路径参数 $dir
,但由于压缩包中只包含文件而非文件夹,导致了错误。
重新构建压缩包结构后,我们成功上传了恶意文件,并通过访问上传的文件地址执行了任意代码。
CNVD-2023-74536:
该漏洞位于 /content/templates/
目录,同样是任意文件上传漏洞,利用了相同的上传函数 upload_zip
。
总结:
通过对两个 Emlog_Pro 后台任意文件上传漏洞的分析,我们深入了解了漏洞产生的原因,并提供了解决方案。代码审计是确保系统安全的关键步骤之一,我们希望本文能够帮助读者加深对代码审计流程和技术的理解,提高系统安全性。
Emlog官网下载存在漏洞版本的源码:
https://github.com/emlog/emlog/releases
暂无评论内容