近日,朋友发现某电商平台存在一个高危漏洞,将数据包发给我进行审计。首先使用Seay源代码审计系统对代码包进行自动化扫描,系统报告了300+个潜在漏洞点,我将结果丢给AI,从中筛选出1个最可能被利用的高危远程代码漏洞。
漏洞位置
app/common/logic/admin/config.php文件中的配置写入功能存在代码注入漏洞。
漏洞代码
1 | $code = "return [ |
漏洞原理
该段代码直接将用户输入的参数($param[‘title’]等)拼接至PHP配置文件中,未做任何过滤处理。攻击者可以通过注入PHP代码,实现远程代码执行。
漏洞复现
在后台修改网站标题处输入:.phpinfo().
系统生成的配置文件内容变为:
1 |
|
访问/config/site.php文件即可触发phpinfo()执行。
但该漏洞需要后台权限才能利用,我发现管理员后台账号密码默认为admin。
在FOFA找到百个资产,测试了10个有4个存在弱口令,RCE也验证成功。
因此攻击链可完整形成:
弱口令进入后台 → 利用RCE漏洞获取服务器权限