Y4教你审计系列之熊海CMS代码审计 |
您所在的位置:网站首页 › 上海风景名胜区有哪些地方 › Y4教你审计系列之熊海CMS代码审计 |
熊海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 |