某日志设备漏洞挖掘-从后台RCE到前台RCE
前言
在某次渗透过程中,客户的内网里遇见了一个日志设备,于是便有了后续的RCE漏洞挖掘(在很久之前挖出来的,文章只是提供一个小思路,目前已经通知厂商进行了完全修复)
信息收集
对于设备我们首先要找到它的使用手册,注意几个功能关键点 (网络连通性,日志查看,系统备份,默认口令)
找到了Web目录,有了源码我们就可以进行PHP代码审计来挖掘更多漏洞,首先先看一下有没有默认密码
这里发现了一个官方教学帖子里有默认的账号密码,我们去登录试试,毕竟后台漏洞挖掘更加轻松
漏洞挖掘
没有更改默认密码,成功登陆到了后台,我们继续从功能点入手挖掘后台漏洞, 看代码后发现 command-html.php 文件比较可疑,传入 cmd 参数到 cmdhandle.php
这里没有什么过滤就执行了命令,可能是设备的调试页面,我们直接访问测试
权限就这样没了,不甘心这样,于是继续代码审计尝试挖掘一个前台RCE出来
这里没有什么关键信息,只能发现一些配置路径和默认的Mysql账号密码,我们再去查看登录认证的方式是什么
可以发现后台功能文件均使用 chksession来认证身份,那我们的目标就需要明确为不存在身份验证的文件
利用命令删除所有包含身份验证的文件
rm -rf $(grep -ril 'chksession()' ./)
删除后文件大幅度减少,就减小了代码审计的时间,通过关键字搜寻命令执行的地方,发现一处完全没有过滤的命令拼接漏洞,username参数为用户可控的参数,并直接拼接到了命令执行部分,导致RCE
传入POST请求
POST /account/sy_addmount.php
username=|id
- 本文作者: PeiQi
- 本文来源: 奇安信攻防社区
- 原文链接: https://forum.butian.net/share/811
- 版权声明: 除特别声明外,本文各项权利归原文作者和发表平台所有。转载请注明出处!