前言 yxtcmf6.1是一个基于thinkphp3.2.3的cms,19年3月份发布,用来练习代码审计是个不错的选择。...审计思路 由于这个cms采用MVC架构并且是基于thinkphp3.2.3的,所以先了解文件结构,知道不同的页面对应的文件位置在哪。...0x01 了解thinkphp3.2.3的漏洞 自己先搭建一个tp3.2.3,通过百度找到了一些thinkphp3.2.3存在的sql注入,然后记录下来简单说明一下 ?
0x00 前言 ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的,由于其简单易用,很多cms都基于该框架改写。...然而 Thinkphp在缓存使用却存在缺陷,生成缓存时,Thinkphp会将数据序列化存进一个php文件,这就产生了很大的安全问题。...0x01 环境搭建 工具 phpstudy http://www.phpstudy.net/phpstudy/phpStudy20161103.zip Jymusic cms http://www.jyuu.cn...0x02本地后台getshell Jymusic cms 先看一下管理员登录页面的源代码,看到核心入口为ThinkPHP.php,找到并打开查看 ? 发现应用缓存目录为Temp文件夹 ?...xyhcms xyhcms和Jymusic cms一样使用了ThinkPHP框架,这里不赘述,直接给出缓存文件的位置 ? ?
这周接着上周的话题继续来讲,上周给大家简要讲解了Jamstack理念,这种就讲Jamstack中的一个重要的技术: headless cms 在讲headless cms之前,不能绕过cms这个概念,所以我们先来讲下...cms。...CMS CMS英文全称是Content management system, 用中文来表意:内容管理系统 CMS其实包含两个部分,一个部分就是:内容管理,另一部分则为其展现:UI,通常以网页为主 CMS...并不是所有英文都能准确的用中文来表述,所以我还是建议直接使用headless cms表述为宜 headless cms实质是在借鉴CMS的基础之上,去掉了其UI展现这一部分的功能,从而达到扩充其内容管理的功能...所以,如果你有类似的需求,当你发现CMS并不能满足你的需求之后,你就可以考虑headless cms了,以及Jamstack.
今天第一次接触到CMS的项目,当时是修改一个别人项目的BUG,说实话,我开始并不了解这是一个开源框架,我开始以为是一个别人字节写的自用框架,而非公共的开源框架。...其实本人也写过微框架,本次就借助CMS来谈谈框架的思想。...调用核心框架文件 该文件在LARAVEL中式实例化了一个容器对象,在CMS中是实例化了一个cpApp文件,由于此时尚未写PHP自动载入函数,一般该自动载入函数写在基础容器对象中。...从中可以看出这个CMS版本是很老的,而且命名也不遵守PSR规范。...今天就讲到这里,剩下的就是CMS调用数据model类的实现了,这个后续再谈。
thinkphp:mvc模式 1,thinkphp的安装配置 条件 PHP>=5.4.0 PDO MbString CURL PHP Externsion Mysql Apache或Nginx...prefer-dist topthink/think think_composer git git clone https://github.com/top-think/think.git 直接到thinkphp...内置的启动文件,若没有apache ,只安装了php php -s localhost:9090 router.php static 静态文件 runtime 日志,缓存,编译文件 thinkphp...> 配置 dump(config()); thinkphp的配置信息 /thinkphp/convention.php 全局配置 在public中增加常量定义 //定义配置文件目录...config('controller','indexController'); # 整个controll生效,放在方法中,只在方法中生效 } Config和助手函数config Config : /thinkphp
目前很多人才网站都使用的骑士CMS系统,受影响的网站较多,关于该网站漏洞的详情我们来详细的分析一下。...骑士cms4.2最新版本使用了thinkphp的架构,底层的核心基础代码都是基于thinkphp的开发代码,有些低于4.2版本的网站系统都会受到漏洞的攻击。...我们来本地服务器进行搭建骑士CMS系统的环境,首先去骑士官方下载最新版本74cms_Home_Setup_v4.2.111.zip,然后安装php版本为5.4,mysql数据库安装版本为5.6,我们把网站放到...Conf文件config.php代码,发现这个配置文件调用的就是job_list的类标签,这个类会把一些参数值直接赋值到$this->params里,根据这个接口我们可以插入非法的SQL注入代码,大部分的thinkphp...都是可以进行注册的,包括目前最新的thinkphp5.0漏洞,都是可以远程代码执行的。
CMS全称 ConcurrentMarkSweep,是一款并发的、使用标记-清除算法的垃圾回收器, 如果老年代使用CMS垃圾回收器,需要添加虚拟机参数-“XX:+UseConcMarkSweepGC”...CMS默认启动的回收线程数是(cpu数量+3)/4。2.CMS收集器无法处理浮动垃圾,可能出现“Concurrent Mode Failure”失败而导致一次Full GC。...在JDK1.6中,CMS收集器当老年代使用了92%的空间后才会进行收集,所以如果CMS运行期间预留的内存无法满足程序需要,就会出现一次“Concurrent Mode Failure”。...重新标记(CMS Final Remark) 重新标记(CMS Final Remark)的日志打印如下: 2019-04-11T16:30:52.428+0800: 18.302: [GC (CMS...并发清理(CMS Concurrent Sweep) 并发清理(CMS Concurrent Sweep)的日志打印如下: [CMS-concurrent-sweep-start] [CMS-concurrent-sweep
0x02 漏洞概述 骑士 CMS 官方发布安全更新,修复了一处远程代码执行漏洞。...由于骑士 CMS 某些函数存在过滤不严格,攻击者通过构造恶意请求,配合文件包含漏洞可在无需登录的情况下执行任意代码,控制服务器。...0x03 影响版本 骑士 CMS < 6.0.48 0x04 环境搭建 骑士cms不支持php7.0,所以建议使用php5 官网下载6.0.20版本 ?...0x06 漏洞分析 路由: 74cms利用了thinkphp3.2.3进行构建,查看ThinkPHP\Conf\convention.php中的路由配置: /* 系统变量名称设置 */ 'VAR_MODULE...return $url; } 日志记录: thinkphp定义了日志记录方式: 在ThinkPHP/Library/Think/Log.class.php中的write方法: /**
php // +---------------------------------------------------------------------- // | ThinkPHP [ WE CAN...--------------------------------------------------------------- // | Copyright (c) 2006~2018 http://thinkphp.cn
本文作者:Twe1ve(贝塔安全实验室-核心成员) 这段时间在看PHP代码审计相关知识,国内有不少CMS都是基于ThinkPHP开发的,因此了解ThinkPHP的开发思路更容易理解这类CMS的代码...一般分为前后台等模块进行开发: index.php前台入口文件定义引入ThinkPHP_PATH、项目路径、项目名称 define('APP_PATH', "....'ThinkPHP.php'; //加载ThinkPHP框架 ?...'ThinkPHP.php'; //加载ThinkPHP框架 在APP路径下生成MANAGE目录 ?.../manual_3_2.html#read_data ThinkPHP3.2完全开发手册
Think.config.HOT_BRAND_IMG” item=”vo”>{$vo} 9.获取URL参数 访问:http://localhost/index.php/news/hello_world/thinkphp
首先我们来看看Thinkphp的模板, 成功界面: ? 错误页面 ?...说到美化的话,我们需要先找到这个模板在那里 ThinkPHP/Tpl/dispatch_jump.tpl 然后我们修改这里面的代码就行的。下面的模板是我自己项目修改用的。大家也可以用AJAX加载的。
php // +---------------------------------------------------------------------- // | ThinkPHP [ WE CAN...--------------------------------------------------------------- // | Copyright (c) 2006~2018 http://thinkphp.cn...controller_suffix' => false, // 默认的路由变量规则 'default_route_pattern' => '[\w\.]+', // 域名根,如thinkphp.cn
可以使用任何 Js 类库来实现ThinkPHP Ajax ajaxReturn 返回 ThinkPHP 提供了 ajaxReturn 方法用于 Ajax 调用后返回数据给客户端,语法如下: $this
首先我们来看看Thinkphp的模板, 成功界面: 错误页面 说到美化的话,我们需要先找到这个模板在那里 ThinkPHP/Tpl/dispatch_jump.tpl 然后我们修改这里面的代码就行的
目录 目录 0x00 前言 0x01 知识背景 0x02 漏洞分析 0x03 漏洞复现 0x04 漏洞修复 0x05 总结 0x06 参考 0x00 前言 续师傅前些天跟我说骑士 CMS 更新了一个补丁...,assign_resume_tpl 这个全局函数出现了问题,让我分析看看能不能利用,我看了下官网公告: http://www.74cms.com/news/show-2497.html /Application...0x01 知识背景 骑士 CMS 采用的同样是 Thinkphp 框架,不过其版本是 3.2.3,我们知道 3.2.3 的标准 URL 路径如下: http://serverName/index.php.../模块/控制器/操作 但骑士 CMS 采用的是普通模式,即传统的GET传参方式来指定当前访问的模块和操作,举个简单的例子,如果我们想要调用 Home 模块下的 User 控制器中的 login 方法如下.../104435.htm https://www.kancloud.cn/manual/thinkphp/1697 http://www.74cms.com/news/show-2497.html
重点提示 想到以后的项目开发中,难免会用到一些比较流行的 PHP开发框架 ,所以在此提供两个框架【 ① ThinkPHP5.1 ② Laravel5.5】下整理的系统代码,可根据自己的需求在【附录...配置完成后的访问 以我的操作为例,在自己的集成环境PhpStudy服务中,配置的虚拟域名为 lar5Pro.com ,则入口网址为: 前台 : lar5Pro.com/ 后台 : lar5Pro.com/cms...GitHub源码下载 moTzxx-CMS-ThinkPHP5.5 moTzxx-CMS-Laravel5.5 ③....,但是两者间的几个关键词要注意,比如 ThinkPHP5.1使用 field、order、find、select、alias等,而Laravel5.5使用select、orderBy、get、first...等 model类 命名的方式不一样,注意 "s",比如表格articles,前者model命名为Articles,后者却为Article 对于数据表的字段命名,注意到一点:ThinkPHP5.1 不能用
0x00 框架运行环境 ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。...ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。...下载最新版本的5.0.9完整版 本地按照官方给的文档安装成功后,新建一个模型 再来新建一个index控制器下的test方法 变量$ids引入的方式是数组 , 在这里要看下官方的input函数 Thinkphp5.0...从代码层看上去没有进行SQL拼接的痕迹; 那就看一下update方法框架是怎么定义的 前面的参数传入数据,后面的参数传入条件,重点跟踪下$where这个条件变量 ,接着跟到save()方法里 继续跟踪到\thinkphp
这个洞:http://wooyun.org/bugs/wooyun-2014-087731 绝对能通杀大部分的thinkphp站,不过需要一些精细化的分析,像一些表单、搜索位置出现漏洞的可能性很大,但网上一些...或者找到一些thinkphp二次开发的CMS进行通用exp编写,但很多商业cms我并不知道,也没时间去搜集。 所以把任务交给大家了,感兴趣地可以全网搜集一些thinkphp二次开发的站点,先列出来。...当thinkphp站点控制器名字是4e5e5d7364f443e28fbf0d3ae744a59a的时候就会显示一个logo出来: ? ? ? ? ? 不一一列举了。
领取专属 10元无门槛券
手把手带您无忧上云