前台文件_漏洞分析丨EarCMS前台文件上传

本文主要分析了EarCMS的前台文件上传漏洞。通过解密混淆后的代码,揭示了两次截取加密字符串并Base64解码的过程。在漏洞分析部分,指出index-uplog.php中的上传点存在允许.php文件上传的安全问题,可以通过编写PoC脚本来自动化测试此漏洞。
摘要由CSDN通过智能技术生成

文件解密

从网上下载该CMS,发现它的代码是加密的。通过指纹信息在搜索引擎中找到是威盾加密,先来分析一下如何解密。

以admin.php为例,经过混淆后的密文如下图。

93c407b40a262903d8f00a0d493ae614.png

首先将变量还原并替换,剩下一堆形如Base64编码的字符串。

7c142d4ed1f309133918a02a7d358b97.png

开始解密,在这里跳过的字符串是针对原文件中最后的那一串密文来说的。根据提示先截取380字节,然后拼接去Base64解码。

e462486f933dcbddb95417e234d6c2c0.png

0fa5decee10a9be59d1b8d3b42355076.png

按照同样的方法再次进行解密,这次读取的内容为380字节后的736字节。

8f830405a7ca08d01904cff85bc0dcb1.png

7ec9d7f40e73c456a53253fe979c0c1d.png

由此可知,其实就是两次截取加密字符串进行拼接后,简单的base64解码即可。

漏洞分析

知道了解密方法,再来看看这个漏洞的入口。

038c93eb5c2e07f50dc5d6d2de3df433.png

3d919f9a636303eff240b540bc8a7b9b.png

在index-uplog.php中,我们重点关注

(in_array($extension,array('ipa','apk','mobileconfig',pack('H*',706870))))

这句代码中的 pack('H*',706870) 是什么。

echo一下,果然是php。

fa0d4bfa0d0e23c10a8f484dad0b43ef.png

这也就意味着这个上传点的白名单包含了.php文件格式,可以上传恶意PHP文件。

428d508529308ce372aa9280cdc2f1e6.png

3d763637891352db51f5a73070753e1a.png

PoC编写

刚好最近一直在用PocSuite作为自己的PoC箱子,想着可以给它写个脚本方便以后自动化测试。

先填好基本信息。

f017d031a4297a11af23bf0a897e2e4c.png

核心的检测逻辑很简单,直接贴代码。

a56864acc298e806a2b6322af55e4e15.png

最后设置一下参数。

2040a96507c2c213a3ec1099b6f45b6d.png

运行测试,so easy。

7c8bb090ee6fb3984a7310b9743a16f6.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值