MoR03r MoR03r's Blog
DolphinPHP 1.4.2 后台GetShell
发表于 2021-2-2 | exploit

开始了

本地搭建完成后,首先进后台上传图片,进行抓包

image-20210202221140721

可以看到访问路径为/admin/attachment/upload/dir/images/module/admin.html,首先查看admin/attachment/upload下的代码

打开/application/admin/controller/Attachment.php文件,查看upload函数(90~98行),传入dirfrommodule三个参数,根据上面抓包内容来看,这里已经传入dir=imagesmodule=admin两个参数,并未传入from参数,因此默认会进入$this->saveFile

image-20210202221720798

接下来看一下saveFile函数第203~217行,对扩展名进行了校验,并且对后台添加的可上传扩展名进行正则校验,此路GG

接下来是from=ueditor的情况,可以查看配置文件/public/static/libs/ueditor/php/config.json第7行

image-20210202222311293

此路不通,继续往下查看jcrop函数(第556~655行)

看关键位置第565~576行

image-20210202222549126

没有任何过滤可直接上传到/public/uploads/temp/目录,而且还会回显路径???

测试一下吧

image-20210202222702338

完全没问题,打完收工。

写在最后的话

官方在1.4.5的说明里写了修复一处文件上传,但是下载了1.4.4版本的包,跟1.4.5一样,官方可能把1.4.5的Attachment.php文件放到了1.4.4版本里,所以理论来说,这个方法是适用于1.4.5版本以下全版本的。

TOP