某项目后台RCE漏洞审计分析
原文链接: https://mp.weixin.qq.com/s?__biz=MzkyMjM5NDM3NQ==&mid=2247486601&idx=1&sn=c46a906e9e767159a1953d41fbf8e368
某项目后台RCE漏洞审计分析
原创 学员投稿 进击安全 2025-07-14 01:39
免责申明
本文章仅用于信息安全防御技术分享,因用于其他用途而产生不良后果,作者不承担任何法律责任,请严格遵循中华人民共和国相关法律法规,禁止做一切违法犯罪行为。
一、前言
此次为学员投稿案例,我们来看一下。
二、鉴权分析
入口分析就不分析了,本身非框架的源码,我们来看对应的鉴权分析。
可以看到路由为admin目录下的admin_cl.php文件,并且参数mudi为login,查看一波,但是把进去文件之后发现先一个问题。
其中参数我去哪里找去,mudi在上面并没有定义,可不可控我们知道了肯定是可控的,但是就是无法确定这么传递进来的,所以这里我们要跟进check.php文件了。
这里就是确定一下你是否存在这几个参数,看其他的吧。
去除两边空字符等,传递给了Get方法,继续往下走。
然后传递到了可控$_GET当中并且判断是否存在值(封装这么多层有diao用)
mudio分析完了,开始分析登陆点
三、登陆点分析
很明显当mudi等于login的时候调用login方法。
可以看到接受的参数有pwdKey、pwdMode、username、userpwd以及verCode验证码。
这里可以看到讲参数username传递到了PostRegExpStr方法,我们跟入,并且第二个参数为sql
可以看到给str可控之后传递到了regExp当中,跟入方法查看。
可以看到我们现在fnum为sql我们并且实例化了Filter方法我们跟入。
在这里面讲字符串全部进行了过滤,但是无所谓了,也没想着登录框能出现注入,我们继续往下看。
其中99行进行传递进去了我们的username值。
然后根据我们传递进去的username得到对应密码进行与用户的密码进行判断,并且其中的dePwdData为对密码加密的一个方式,加密之后在进行md5加密。
登录成功之后进行一系列的添加session
这里就不继续往下分析了,我们看对应的后台鉴权点。
四、后台鉴权
在后台功能点当中可以非常明显的看到Open还给了注释为用户监测。
分析的不错也是进行查询数据库里面的信息然后在拿出来进行比对,绕过的话比较难,我们来看看对应的漏洞把。
五、漏洞复现
在这个界面可以进行慢查询
没有开启⽇志的话就开启⽇志
set global slow_query_log=1;
设置⼀下⽇志路径
set global slow_query_log_file='D:\\phpstudy_pro\\WWW\IDCcms\\
查看⼀下状态,成功写⼊
show variables like '%slow_query_log%';
(其实就是Mysql拿shell的那一套)
成功写入文件进行RCE。
六、完结
代码审计第四期,富含PHP、JAVA、NET代码审计,顺带APP、小程序、WEB当中参数逆向以及JAVA工具二开与SRC案例讲解,其中多多0day讲解,实战案例分析,不拿着靶场去做,想学习速速报名了。