狂雨小说(KYXS)CMS 代码审计
CMS介绍
狂雨小说内容管理系统(以下简称KYXSCMS)提供一个轻量级小说网站解决方案,基于ThinkPHP5.1+MySQL的技术开发。
KYXSCMS,灵活,方便,人性化设计简单易用是最大的特色,是快速架设小说类网站首选,只需5分钟即可建立一个海量小说的行业网站,批量采集目标网站数据或使用数据联盟,即可自动采集获取大量数据。内置标签模版,即使不懂代码的前端开发者也可以快速建立一个漂亮的小说网站。
环境搭建
下载链接:http://bbs.kyxscms.com/?t/1.html
我这里使用的是phpenv进行搭建。
先手动创建数据库(create database)。
可能会出现的问题,访问主页时模板存在问题。
解决方法:
删除默认模板,再重新下载。
漏洞复现
文件包含漏洞
这个CMS的漏洞都在后台。
在网站logo处可以上传图片马。
上传成功后会显示上传的路径:
在模板管理中,编辑主页html:
在该位置添加:
注意uploads前面没有斜杠
保存,访问主页:
代码分析
代码结构:
addons 插件代码
application 主要后端代码
config 配置文件
extend 一些基础类文件
public 静态文件
route 路由
runtime 主要是缓存
template 模板文件
thinkphp thinkphp
uploads 上传文件
漏洞成因:提供了修改模板的功能。再利用Thinkphp 模板/包含文件,造成文件包含漏洞。
这里代码的关键字都是Template
修改模板代码:
public function edit(){$Template=model('template');$data=$this->request->post();if($this->request->isPost()){$res = $Template->edit($data);if($res !== false){return $this->success('模版文件修改成功!',url('index'));} else {$this->error($Template->getError());}}else{$path=urldecode($this->request->param('path'));$info=$Template->file_info($path);$this->assign('path',$path);$this->assign('content',$info);$this->assign('meta_title','修改模版文件');return $this->fetch();}}
这个没什么好说的。
跟进edit($data)
:
public function edit($data){return File::put($data['path'],$data['content']);}
跟进put:
static public function put($filename,$content,$type=''){$dir = dirname($filename);if(!is_dir($dir))mkdir($dir,0755,true);if(false === file_put_contents($filename,$content)){throw new \think\Exception('文件写入错误:'.$filename);}else{self::$contents[$filename]=$content;return true;}}
结束,没有任何过滤。
从代码的角度来说,接收了两个参数content
和path
。
一个是文件的内容,一个是地址,而且是通过POST进行传递。
所以,直接通过数据包进行参数的修改:
这里的path可以自己设定。
访问主页:
还有个问题,数据包的路径为什么这么写,怎么判断出来的?跟thinkphp框架有关?
狂雨小说(KYXS)CMS 代码审计相关推荐
- 狂雨小说CMS全插件系统_听书+百度推送+收费白色pc手机模板+3个采集规则+单本采集
源码介绍 狂雨小说系统带全部插件,真正可以运营的小说站点系统源码!! 狂雨CMS插件大全,听书插件带教程.七牛云存储.百度自动推送.2套收费白色模板+手机+电脑端.单本采集插件.3个采集规则.源码 具 ...
- 免费分享狂雨小说cms完整源码和两套模板带完善采集规则
狂雨小说cms是非常好用的一个系统,搭建起来一键安装,就算是小白也能几分钟就搭建出来,奈何很多人不对写采集规则,一个小说站没有采集手动发布是不太现实的事情,但很多人一看到采集规则却不知道怎么下手,或者 ...
- 轻量级小说系统——狂雨小说cms v1.2.1
狂雨小说内容管理系统(以下简称KYXSCMS)提供一个轻量级小说网站解决方案,基于ThinkPHP5.1+MySQL的技术开发. KYXSCMS,灵活,方便,人性化设计简单易用是最大的特色,是 ...
- python 小说cms系统_狂雨小说cms开源系统附安装教程-狂雨小说CMS系统(外加一套采集规律)下载两款优化版-西西软件下载...
狂雨小说CMS系统(外加一套采集规律)是一款狂雨小说cms建站内容管理平台系统,内置标签模版,即使不懂代码的前端开发者也可以快速建立一个漂亮的小说网站.用狂雨小说cms搭建自己的小说站. 系统要求 P ...
- 阿里云+宝塔+狂雨小说CMS:搭建小说网站
步骤: 1. 下载小说源代码: 2. 有一台云服务器(我是阿里云),同时安装宝塔界面: 3. 宝塔安装PHP: 4. 宝塔配置网站相关: 5. 上传代码: 6. 小说网站配置: 1. 下载小说源代码 ...
- 2023最新1.55狂雨小说cms代自动采集四套模板
搭建起来一键安装,就算是小白也能几分钟就搭建出来,奈何很多人不对写采集规则,一个小说站没有采集手动发布是不太现实的事情,但很多人一看到采集规则却不知道怎么下手,或者完全不会,要不然就是高价去找人写采集 ...
- 赚钱宝 mysql_狂雨小说CMS 1.1.1 最新版源码 基于ThinkPHP5.1+MySQL的开发
狂雨小说内容管理系统(以下简称KYXSCMS)提供一个轻量级小说网站解决方案,基于ThinkPHP5.1+MySQL的技术开发. KYXSCMS,灵活,方便,人性化设计简单易用是最大的特色,是快速架设 ...
- 狂雨小说采集的小说封面图片不显示解决办法
狂雨小说CMS(KYXSCMS)是一个非常好用的轻量级小说网站解决方案.系统内置采集模块,使用采集规则可以很方便地自动采集大量小说.文章数据. 但是,个别情况下可能会出现小说的封面图片不显示,主要分为 ...
- 狂雨小说内核26W数据打包带7条可用热门站采集规则
安装教程只需要上传网站源码和数据包到服务器空间,恢复数据库,修改数据库配置文件为自己数据库名字和密码,进后台修改域名即可上线. 带阅读听书插件,单本小说采集拆件 导入数据库 修改数据库配置文件/www ...
- 狂雨小说CMS系统源码附模板
介绍: 狂雨1.2.2小说CMS系统源码带两套优化模板和一套采集规则,带安装教程 源码仅供个人技术参考,严禁商业或者非法用途! 网盘下载地址: http://kekewangLuo.net/hbuoj ...
最新文章
- yolact_ros出坑记录
- 如何安全存储比特币现金(BCH)?
- Intent中的四个重要属性——Action、Data、Category、Extras
- 智能合约重构社会契约 (2)雅阁项目智能合约
- Android实例-ImageList与Image的应用
- CTeX详细安装步骤
- DOM Xerces类库使用方法
- tortoise清理本地分支_本地:延庆运污水环卫抽化粪池
- 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 4丨游戏玩法分析 I【难度简单】
- NLTK自然语言处理简介
- Werkzeug Turorial
- iOS的四种持久化存储
- 浏览器相关功能系统调用
- python——语音信号读取、分帧、加窗
- 使用OpenCV需要注意的小细节
- Ubuntu中搭建ICE服务器(Coturn)
- 编程之美---电梯调度算法
- 各省生活资料PPI数据(2009-2018年)
- 平面设计完全手册_工业时代的平面设计
- OSG 单体化如何生成
热门文章
- MySQL修改字段类型、字段名字、字段长度、字段小数点长度。
- 统计学、统计学习和统计推断之间的关系
- Excel数据分析工具安装步骤
- Android实现Telnet客户端
- wincc版本升级_【西门子】WinCC V7.4 SP1:常规信息和安装 (较新).pdf
- Sql2Bean代码生成器
- 渤海银行天津分行计算机笔试,关于渤海银行笔试经验分享
- doip 源码_汽车DoIP通讯协议的前世今生
- 直接利用工具将prn文件打印到打印机的方法
- <2021SC@SDUSC> 开源游戏引擎 Overload 代码模块分析 之 OvTools(七)—— 终篇总结