Y4教你审计系列之熊海CMS代码审计

您所在的位置:网站首页 上海风景名胜区有哪些地方 Y4教你审计系列之熊海CMS代码审计

Y4教你审计系列之熊海CMS代码审计

2023-08-18 10:39| 来源: 网络整理| 查看: 265

熊海CMS代码审计架构

审计代码从架构开始,这个CMS架构比较简单,简单的MVC设计模式,根据参数r决定路由的分发,这个路由分发可能导致一个致命的缺陷导致最终实现RCE

123456 由此可能存在的前台RCE

我们知道熊海安装会先判断同文件夹下有无InstallLock.txt作为是否安装的判断标准

那如果我们通过上面这个路由分发实现目录穿越,那当前目录也就是web目录下的index.php是没有这个文件的

没有对参数做处理

1234567$save=$_POST['save'];$user=$_POST['user'];$password=md5($_POST['password']);$dbhost=$_POST['dbhost'];$dbuser=$_POST['dbuser'];$dbpwd=$_POST['dbpwd'];$dbname=$_POST['dbname'];

可惜由于有第一行include失败导致代码终止,不然通过这个我们一方面可以尝试fakemysql读取任意文件,另一方面可以实现往web目录上一层写文件之后再包含实现RCE,有点可惜

有没有解决的办法呢?有那就是找一个和install/index.php相对路径相同的并且存在如上代码的地方,有么

答案是有,我们可以通过此路由成功保留install的所有功能

前台配合目录穿越读文件

可以看见mysql成功建立连接

但是毕竟admin目录下没有sql文件,如果能配合文件上传也能搞事情待会儿研究下

不过这时候可以做一件事情,通过fakemysql去读任意文件了,也是存在的点,这里由于php版本不一致需要构造不同的tcp数据包,这里我用了github上找到的一个和我php5.2版本能用的

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3