概述 ThinkCMF 是一款基于 PHP+MYSQL 开发的中文内容管理框架,底层采用 ThinkPHP3.2.3 构建。...影响版本 ThinkCMF X1.6.0 ThinkCMF X2.1.0 ThinkCMF X2.2.0 ThinkCMF X2.2.1 ThinkCMF X2.2.2 ThinkCMF...X2.2.3 环境搭建 ThinkCMF X2.2.3 下载地址:https://pan.baidu.com/s/1bRXwdg 按照引导安装即可,该框架调试模式默认开启。...参考 https://blog.riskivy.com/thinkcmf-%E6%A1%86%E6%9E%B6%E4%B8%8A%E7%9A%84%E4%BB%BB%E6%84%8F%E5%86%85%
上一个项目在api上使用了thinkphp5.1,但是后台还是使用thinkcmf5.0,tp版本是5.0 .当时就想统一thinkphp版本。...最近得空有时间修改,因此在ThinkCMF 5.0.180901基础上将thinkphp版本改成5.1.29 。修改后,已经对本地测试的不兼容进行修改。 ?...ThinkCMF修改基础版本 ThinkCMF 5.0.180901 正式版 ThinkPHP版本 thinkphp5.1.29 目录结构改动 vendor目录移动到根目录 修改原因: \think...原有模板中ROOT__, _TMPL_等关键字统一替换成{:viewreplace('__ROOT')} 配置修改 thinkcmf 原有配置多数放置在config/app.php文件中,其他配置,根据...extra_file_list,view_replace_str两个配置不再是系统配置,为了兼容thinkcmf 依然保留在app.php中。
近段时间发现很多APP程序用的是thinkcmf,此程序源码存在getshell漏洞,我们Sine安全紧急对此高危漏洞进行了分析和漏洞修复,攻击者可以通过构造特定的请求包get请求即可在远程服务器上执行任意脚本代码
ThinkCMF简介 ThinkCMF是一款基于PHP+MYSQL开发的中文内容管理框架,底层采用ThinkPHP3.2.3构建。...ThinkCMF提出灵活的应用机制,框架自身提供基础的管理功能,而开发者可以根据自身的需求以应用的形式进行扩展 每个应用都能独立的完成自己的任务,也可通过系统调用其他应用进行协同工作。...X1.6.0 ThinkCMF X2.1.0 ThinkCMF X2.2.0 ThinkCMF X2.2.1 ThinkCMF X2.2.2 环境搭建 ThinkCMFX2.2.2下载链接:https...://pan.baidu.com/s/1rK1-_BLmH1VPXsIUfr1VUw 提取码:wuhw 将下载好的ThinkCMF解压后放在WWW目录下,然后浏览器访问即可看到安装页面 ?...ThinkCMF缓存getshell 由于thinkcmf2.x使用了thinkphp3.x作为开发框架,默认情况下启用了报错日志并且开启了模板缓存,导致可以使用加载一个不存在的模板来将生成一句话的PHP
打开网站登陆页面,F12准备就绪,账号密码随便来 点击登录,出现两个包,不用想,肯定是第一个。...看到了base64和rsa加密,继续翻,慢慢找 然后就看到了一个login.js,找到了加密的那句话,encrypt 打个断点,然后再点击登录,最后停在了这句话。
抓包 万幸只有一个加密参数,搜索大法好呀,拿着加密参数全局搜一下,参数值呢就是密码输入框的 id 标签,和上一篇分享的那个 JS 逆向案例一样的。有惊喜… ? 十有八九就是它了,来下个断点走起。...点进去瞅瞅,看代码好像找到了JS 加密的代码 ? 一步步往下走,直接断到返回值,发现为空 ? ? 继续往下走,断点又回到最开始那个判断函数,然后进入了另一个加密函数 ?...很简单吧,全部复制下来吧… 破解 找到加密 JS 就好办了,复制下来,在本地调试一波 ? 然后再把调用函数也一并拿下来 ? 在本地执行一下,然后和网站抓包数据比对下结果,结果一致! ?
登录 ... 登录... 登录了解更多课程及促销活动 <form...否则切换不见nav }); open.addEventListener("click",()=> { modal.classList.add("show-modal"); //如果点击的是登录按钮就显示模态框
分享另一个破解JS登录的案例 抓包 网站如下:http://www.airchina.com.cn/www/jsp/userManager/login.jsp 下面是登录的抓包: ?...因为 JS 代码一般是根据输入框的 id 标签取相应的值,然后做加密! ? id标签 搜索结果如下: ? 结果 猜测应该是 RSA 加密! 分析 在加密的位置打上断点,重新发请求: ?...点击该函数进入,可以发现 RSAUtils 的定义及其相应的函数都在这个 JS 文件中,直接一把梭,将该文件中的 JS 代码全部复制下来吧: ?...所以也将bodyRSA 函数对应的的 JS 代码复制下来。最终本地 JS 文件内容如下: ? 最后,自己写个 JS 函数,执行一下,并和抓包的数据进行对比验证结果: ?...总结 可以看到在流程当中比较重要的地方就是: 1.找规律,寻找这些数据的加密规则 2.调试 JS,使用浏览器或者在本地进行调试 3.模拟数据,将这些数据通过代码模拟生成,然后加入到数据当中
(信安之路 2019 年度优秀作者) 找了个空闲的时间想着动手调试新爆出的 ThinkCMF 漏洞。作为代码审计入门不久的我,惯性思维的就去网上找了些分析文章参考,想要节省一些时间。然鹅。。...a=display&templateFile=README.md 看了 POC,由于对 ThinkCMF 整体的架构不熟悉,死活不知道断点下在哪合适。根据手册,发现了 Portal 的由来。 ?
分享一个破解JS登录的案例 抓包调试 下面是登录的抓包: ? 登录 一个 XHR 请求,下断点。或者搜索请求参数 ? 断点 打完断点后,重新发起请求,结果如下: ?...函数h 将这部分代码扣下来,写到本地 JS 文件中 ? 在本地运行一下和网站上结果进行比对验证 ? ? 可以看到 password 这个参数对上了。...验证 其实,这两个 JS 加密函数都可以用 Python 代码来转换!...登录成功了! 总结 JS 逆向需要耐心调试,同时要理清思路,调试过程中发现的加密过程要记录下来,以免后续再发费时间寻找。同时需要大胆的去假设,多尝试。
function keyProcess(e) { var e = e || ev...
最近在学习JS逆向方面的知识,由于之前做过12306的自动抢票软件,因此对12306情有独钟,接下来就给大家介绍一下12306用户登录密码的参数破解办法。...首先我们打开12306的登录界面,打开抓包工具,输入用户名和一个错误的密码(例:123456),点击登录按钮并滑动验证码进行验证,在Ajax包中我们可以点击login这个包进入查看,我们可以发现password...打上断点后,我们在此输入用户名和密码,点击登录,此时发现浏览器停在了该断点位置,如下图所示 此时我们仔细分析一下该行 JS 代码,发现最后生成的参数是"@"加上一个加密函数返回的结果组成,该函数的第一个参数很显然就是我们输入的明文密码...此时有小伙伴要问了,我都全部将base64js全部都放进来了,怎么还不行呢?其实base64js这个对象比较复杂,在我们抠出来的JS代码中是不能识别的。...最后,补充完毕后的代码进行调试运行,结果如下: 将该JS代码打包成一个JS文件,利用python的execjs包可运行js代码,直接调用JS文件中的getpwd函数即可,python代码如下: import
本文作者:z0ne和Puppy(Timeline Sec新成员) 本文共1233字,阅读大约需要4分钟 本文首发于先知社区 0x00 简介 ThinkCMF是一款基于PHP+MYSQL开发的中文内容管理框架...ThinkCMF提出灵活的应用机制,框架自身提供基础的管理功能,而开发者可以根据自身的需求以应用的形式进行扩展。 每个应用都能独立的完成自己的任务,也可通过系统调用其他应用进行协同工作。...0x02 影响版本 ---- ThinkCMF X1.6.0 ThinkCMF X2.1.0 ThinkCMF X2.2.0 ThinkCMF X2.2.1 ThinkCMF X2.2.2 ThinkCMF...X2.2.3 0x03 环境搭建 ---- 本次使用的环境版本是2.2.3,直接放到phpstudy的目录下,访问路径/ThinkCMFX/发现ThinkCMF很人性化的加载了安装向导,因此按照它的步骤一步一步来即可...(2.2.3版本安装包获取方式:公众号内回复“ThinkCMF环境”) ?
管理、配置等都是自己设计制作的,所以一定存在着很多设计的不合理性,感觉难看还不好用 所以,在没有编写使用文档的情况下,后面接手的新员工总是一步步的摸索 其实一直想找一个满意的后台管理框架,于是有人推荐了ThinkCMF...,主要是看官方网站拥完善的文档以及大批的代码支持者,所以,摸索一番,如果好用,以后可以借鉴… ThinkCMF 初次使用 ①....下载开源代码 根据网站的导航入口,进入GitHub 下载 官方源码(thinkcmf) 另外,对方有标明,可以再另外下载 thinkcmfapi,进行后期的代码替换操作 ?
在application/Common/Controller下有以下几个基类: |-AppframeController ----- ThinkCMF框架控件器基类,继承至Action...|-AdminbaseController ----- ThinkCMF框架后台控件器基类,继承至AppframeController |-HomeBaseController ----- ThinkCMF...框架前台控件器基类,继承至AppframeController |-MemberbaseController ----- ThinkCMF框架会员控件器基类,继承至HomeBaseController
isRight(pwd) { if (pwd == "123") { return true } else { return false; } } 登录功能...= 'test.html' } else { alert("密码错误,请重试") } }); 验证是否登录... 登录 .../jquery.min.js"> $(function
一、背景 ThinkCMF是一款基于PHP+MYSQL开发的中文内容管理框架,底层采用ThinkPHP3.2.3构建。...ThinkCMF提出灵活的应用机制,框架自身提供基础的管理功能,而开发者可以根据自身的需求以应用的形式进行扩展。 每个应用都能独立的完成自己的任务,也可通过系统调用其他应用进行协同工作。...官网:http://www.thinkcmf.com 二、影响版本 ThinkCMF X1.6.0 ThinkCMF X2.1.0 ThinkCMF X2.2.0 ThinkCMF X2.2.1 ThinkCMF...a=fetch&****=******** 通过在斗象智能安全资产情报搜索关键字,使用ThinkCMF的站点 https://arl.riskivy.com/products/lighthouse?...query=headers:%22X-Powered-By:%20ThinkCMF%22 ?
分享一个用原生JS实现的可拖拽登录框,效果如下: 实现的代码如下: 原生JS...实现可拖拽登录框 body { /* 背景图 */ background...'> 登录通行证...忘记密码 登录
分享一个由原生JS实现的注册或登录时,输入邮箱时下拉提示效果,效果如下: 实现代码如下: 原生JS...实现登录框提示 * { margin: 0; padding: 0; }
领取专属 10元无门槛券
手把手带您无忧上云