环境搭建

使用PHPStudy进行快速搭建

源码下载地址

下载后将文件中的Upload文件夹放入WWW目录下也可以再创建一个文件夹,这里自行创建了一个SeaCMS文件夹,将Upload文件夹放入其中。

然后通过远程连接新建数据库。

然后这里访问/SeaCMS/Upload/install/index.php,因为这里没有把Upload设为根目录。访问这个会显示后台配置,按照自己设置的填写完成后会生成一个随机的后台路径,这里返回的是h0bvk6,因此访问/SeaCMS/Upload/h0bvk6即为后台地址。

至此环境搭建完成。

漏洞复现

通过设置好的账号密码登录后台

进入后台找到工具-->上传文件管理,可以查看到上传文件管理的连接为:ip/SeaCMS/Upload/h0bvk6/admin_files.php

在源码中查看该文件发现该文件存在incloud函数,并且包含admin_files.htm这个文件。

并且这个admin_files.php还可以修改模板,只需要通过这个修改admin_files.htm的文件内容即可实现文件包含webshell

修改模板时抓包

content为修改文件内容,filedir为修改文件的路径。这里把context文件的内容设置成恶意的webshell,并通过目录穿越找到admin_files.htm文件即可。目录设置为../uploads/../h0bvk6/templets/admin_files.htm,当前目录为h0bvk6目录,如果直接./templets/admin_files.htm会不让修改这里相当于绕过。

成功修改admin_files.htm文件后使用webshell管理工具进行连接。

注:使用webshell连接时注意使用设置请求头中的session,因为这是后台webshell需要登录认证。

后台也有执行Sql语句的功能,执行没有回显,这里直接抓包用Sqlmap跑了。

参考链接

https://xz.aliyun.com/news/17805