CMS和框架
文章平均质量分 87
CMS和框架
bfengj
vegetable web dog
展开
-
Thinkphp5.0.24 反序列化rce链学习
Thinkphp5.0.24 反序列化rce链学习这个链子是出现在9月份的0CTF中,一直没来得及学习,今天晚上抽出时间来看一下这个链子。之前的5.0.x版本的反序列化链是写文件getshell,需要有一个可写的目录才行,而这条新链子不需要写文件,直接可以rce。分析整个链子的前部分后后部分都是老套路了,只是中间的部分稍微改了一下。链子的前部分和老链子一模一样:https://blog.csdn.net/rfrder/article/details/114644844、在运行到thinkphp/原创 2021-10-25 20:07:20 · 1858 阅读 · 1 评论 -
OurPHP3.3.1审计与测试
OurPHP3.3.1审计与测试目录遍历漏洞还是先看一下后台关于模板的代码,首先发现对于传入的路径没有做waf,导致了目录遍历。漏洞从client/manage/ourphp_filebox.php`的第134行开始:}else{ if(empty($_SESSION['ourphp_out'])) { $file = listDirFiles('../../templates/'.$_GET['path']); $file2 = '../../te原创 2021-06-11 15:28:38 · 854 阅读 · 5 评论 -
Kitecms审计与测试
Kitecms审计与测试刚打完国赛,还是不想看Java。。。正巧马上就要开始期末复习,这段时间也不知道该干什么,那就再看看新的CMS叭,继续跟着Y4师傅学习。这是一款基于thinkphp5.1.41的CMS(虽然官方上写的还是5.1.39),所以我的第一反应就是phar yyds,hhh。任意文件上传漏洞(复现)拿到这个CMS的时候我大致看了一下cnvd已经爆出来的洞,感觉除了XSS这种东西,其他的命令执行,文件上传之类的漏洞感觉全都是在后台,所以我第一反应就是这又是一个纯数据库操作和前端的前台。原创 2021-06-11 15:11:21 · 1029 阅读 · 1 评论 -
KYXSCMS1.3.2审计与测试
KYXSCMS1.3.2审计与测试再过一个多星期就要彻底进入期末了,将会迎来20多天的悲惨的期末复习时光,基本上算是只能一直取突击,学不辽安全了。所以最近学Java就学的很烦躁,基础知识看不下去了,那就来看一下CMS叭。想了一下,正好想起来Y4师傅时不时会发一些CMS的审计文章,所以我就跟着Y4师傅的文章来进行学习。选了这个KYXSCMD的getshell来进行复现,但是没想到复现之后自己审计,又审出了这么多新的东西。任意文件写入的getshell(复现)下载源码:http://bbs.kyxscm原创 2021-06-06 16:45:43 · 871 阅读 · 1 评论 -
Laravel Debug mode RCE(CVE-2021-3129)漏洞复现
Laravel Debug mode RCE(CVE-2021-3129)漏洞复现前言这个之前在VNCTF2021的时候遇到过,当时自己只是拿着脚本直接打,并没有对于原理好好了解一下。最近国赛,还有i春秋都出现了以yii和thinkphp为背景的关于日志写phar来实现phar反序列化的这种题目,所以就来好好地复现和学习一下这个RCE。中间也是踩了很多坑,在@Jiang师傅的帮助下复现成功,也是加深了理解。参考链接一定一定一定把这篇文章中讲到的都仔细地领悟一下,踩的很多坑都是因为看这篇文章的时候比较原创 2021-05-31 19:51:56 · 1691 阅读 · 4 评论 -
[HMBCTF 2021]EzLight 复现
前言去突击了一个星期的计算方法期末考试,中间耽误了很多比赛题目的复现。今年红帽最后的那道EzLight赛后也有了writeup,直到今天才有时间去复现一下。参考了郭院士和颖奇师傅的文章:lightcms后台RCE漏洞挖掘lightcms全版本后台rce 0day分析他们的文章讲的已经非常非常的详细了,因此我这里就不做过多的解释了。就是跟着大师傅们的思路,也自己把这个代码的流程看了一遍,因此我这篇文章其实没啥看的,就是我自己记录一下我的复现过程,师傅们看郭院士和颖奇师傅的文章就可以了。复现网上直原创 2021-05-18 16:58:29 · 938 阅读 · 8 评论 -
bluecms 1.6 审计与渗透测试
前言听My0n9s师傅说bluecms比较适合审计入门,正好也到了2周审计一个CMS的时候了,就从网上下载了这个CMS的源码,开始审计与渗透测试。源码下载:bluecmd安装安装的时候主要先看看哪些目录是可写的,到时候如果可以传马或者SQL注入可以写马啥的,至少对于可用的目录知道一些。而且也大致看一下,cache是缓存,upload估计就是上传的路径了,backup是备份,说不定可能存在源码泄露啥的,complie就不清楚了,好像就是smarty?。之后就是正常的安装,而且安装那里的用户名和密原创 2021-05-07 09:11:47 · 1835 阅读 · 4 评论 -
Ctfshow web入门 thinkphp专题
web569看一下thinkphp3.2.3官方手册,看完就都懂了:ThinkPHP3.2.3完全开发手册首先就是路由的方式:http://serverName/index.php/模块/控制器/操作此外就是默认是不区分大小写的,由'URL_CASE_INSENSITIVE' => true,这个配置决定。URL模式的话,默认是PATHINFO模式,即本题考察的模式。直接访问即可:/index.php/admin/login/ctfshowloginweb570下载源码,在C原创 2021-04-25 16:40:26 · 3480 阅读 · 6 评论 -
熊海CMS1.0 代码审计
前言有一段时间没碰Web了,感觉都快忘完了。。。又到周末,既然要坚持2周审一个CMS,那就在周末再审一个CMS了。还是简单的CMS,慢慢熟悉各种CMS的构造,慢慢学习审计和测试和思路。SQL注入(存在)select注入(后台)本来以为这个CMS的SQL防护能好一点。。。结果感觉和屎一样。。。看个最简单的吧,后台登录:/admin/?r=login:0防护。。。直接union联合注入,即可进入后台:user='union select 1,2,3,'c4ca4238a0b923820dcc509原创 2021-04-17 14:36:50 · 857 阅读 · 0 评论 -
极致CMS 1.9.2 审计与渗透测试
前言昨天看了极致CMS1.7,今天再来看看极致CMS1.9版本修复了什么漏洞,哪些漏洞还能用,是不是还有新的东西。下载链接:极致CMS这次我下的是1.9.2的稳定版。下载到本地搭建一下环境,然后就是安装。安装的时候注意到了这里:我记得1.7版本安装的时候管理员和密码默认都是空的让自己填,这里的话默认的管理员和密码格式大概是jizhicms加上四个数字,这玩意怎么说呢,说是弱口令叭,但是9999*9999也挺难爆的,去爆破还不如找洞舒服。看看后台安装好之后还是先进一下后台,登录那里发现验证码原创 2021-04-05 16:45:26 · 4899 阅读 · 10 评论 -
极致CMS 1.7 审计与渗透测试
前言几天前在先知上看到了Firebasky师傅在先知上发的关于极致CMS的渗透测试。这个CMS的洞虽然已经公布了很久,但是因为自己还是太菜,基本上没有怎么接触过多少CMS,因此就从网上把极致CMS下载了下来,在本地搭建了一下环境来测试。github上的极致CMS这里我下载的是1.7版本,考虑到1.9版本可能大多数的洞都修了,就不好玩了,先把1.7试一遍,再搭一下1.9版本的看看。这篇文章相对来说会很乱,因为行文的思路是我随手乱试思路了。后台上传文件本地搭建一下,设置一下管理员账号和密码,直接自己登原创 2021-04-04 17:31:51 · 1825 阅读 · 0 评论 -
[网鼎杯 2020 半决赛]faka
前言同样是nepctf,遇到了网鼎杯这题faka的加强版,考虑到实在太菜了,没参加过今年的网鼎杯,所以先去把网鼎杯的faka这题复现一下,源码可以很容易从网上找到。WP拿seay审了一下,基本上啥都没审出来啥,就审出来了一个最简单的那个任意读。不过这个任意读还需要登录,因此还需要利用其他的漏洞。未授权添加账号和提升权限漏洞代码位于application/admin/controller/Index.php中的info方法: public function info() {原创 2021-03-22 12:01:47 · 2269 阅读 · 0 评论 -
Thinkphp6.0 反序列化漏洞
准备创建工程:composer create-project topthink/think thinkphp6.0.1 "require": { "php": ">=7.1.0", "topthink/framework": "6.0.1", "topthink/think-orm": "^2.0" },composer updateindex控制器:<?phpnamespace app\controller;原创 2021-03-12 19:36:43 · 2116 阅读 · 0 评论 -
Thinkphp6.0 任意文件写入
准备创建代码:composer create-project topthink/think thinkphp6.0.1 "require": { "php": ">=7.1.0", "topthink/framework": "6.0.1", "topthink/think-orm": "^2.0" },composer updateThinkPHP6默认不开启session,我们需要修改app\middleware.ph原创 2021-03-12 09:36:42 · 2210 阅读 · 0 评论 -
Thinkphp5.0 反序列化漏洞复现
前言环境创建:composer create-project topthink/think=5.0.14 thinkphp5.0.14 "require": { "php": ">=5.4.0", "topthink/framework": "5.0.14" },composer update原创 2021-03-11 19:39:04 · 2074 阅读 · 0 评论 -
Thinkphp 5.0.9 SQL注入
前言创建:composer create-project topthink/think=5.0.9 thinkphp5.0.9 "require": { "php": ">=5.4.0", "topthink/framework": "5.0.9" },index控制器这样写:<?phpnamespace app\index\controller;class Index{ public function index()原创 2021-03-10 19:19:36 · 879 阅读 · 0 评论 -
Thinkphp cache缓存函数远程代码执行漏洞
前言环境创建:composer create-project topthink/think=5.0.10 thinkphp5.0.10 "require": { "php": ">=5.4.0", "topthink/framework": "5.0.10" },composer update影响版本:3.2.3-5.0.10index控制器里写个cache()函数: public function cache() {原创 2021-03-10 09:46:20 · 1927 阅读 · 0 评论 -
Thinkphp5 文件包含漏洞
前言本次漏洞存在于 ThinkPHP 模板引擎中,在加载模版解析变量时存在变量覆盖问题,而且程序没有对数据进行很好的过滤,最终导致 文件包含漏洞 的产生。漏洞影响版本: 5.0.0<=ThinkPHP5<=5.0.18 、5.1.0<=ThinkPHP<=5.1.10。创建:composer create-project topthink/think=5.0.18 thinkphp5.0.18 "require": { "php": ">=5.原创 2021-03-09 19:36:18 · 1602 阅读 · 2 评论 -
Thinkphp5 聚合函数 SQL注入
前言这次的SQL注入问题在于使用了mysql的聚合函数:本次漏洞存在于所有 Mysql 聚合函数相关方法。由于程序没有对数据进行很好的过滤,直接将数据拼接进 SQL 语句,最终导致 SQL注入漏洞 的产生。漏洞影响版本: 5.0.0<=ThinkPHP<=5.0.21 、 5.1.3<=ThinkPHP5<=5.1.25composer create-project topthink/think=5.1.25 thinkphp5.1.25 "require": {原创 2021-03-09 14:03:58 · 510 阅读 · 0 评论 -
Thinkphp 5.1.16~5.1.22 order by SQL注入
前言这次的SQL注入点在parseOrder()方法中,影响版本是5.1.16~5.1.22。创建:composer create-project topthink/think=5.1.22 thinkphp5.1.22 "require": { "php": ">=5.4.0", "topthink/framework": "5.1.22" },composer updateindex控制器写法: public function原创 2021-03-08 21:39:42 · 583 阅读 · 0 评论 -
Thinkphp 5.0.10 SQL注入
前言开始tp5.0.10的SQL注入,漏洞点位于parseWhereItem()方法。先创建工程,再改composer.json,再composer update。composer create-project topthink/think=5.0.10 thinkphp5.0.10 "require": { "php": ">=5.4.0", "topthink/framework": "5.0.10" },composer update原创 2021-03-05 23:32:45 · 1646 阅读 · 0 评论 -
Thinkphp 5.1.17 SQL注入
前言之前审计的是5.0.15的parseData函数漏洞导致的SQL注入。这次审的是5.1.17的parseArrayData函数漏洞导致的SQL注入。影响版本:5.1.6<=ThinkPHP<=5.1.7 (非最新的 5.1.8 版本也可利用)。composer create-project topthink/think=5.1.17 thinkphp5.1.17然后改一下composer.json,再composer update就好了。然后设置一下database.php:原创 2021-03-05 17:18:30 · 1145 阅读 · 1 评论 -
Thinkphp5.0.15 SQL注入
前言刚把tp5的RCE给审的差不多了,审的很爽,接下来审一下thinkphp5各个版本的SQL注入。代码不用说了,composer先下载下来。composer create-project topthink/think=5.0.15 thinkphp5.0.15下载来的%99都是版本不对,改一下composer.json然后composer update就可以了。index控制器那里写一下insert语句:class Index{ public function index()原创 2021-03-05 10:16:33 · 1791 阅读 · 2 评论 -
thinkphp5 RCE漏洞复现
前言之前看的是tp3的SQL注入,现在开始审计一下tp5的一些SQL注入和RCE。先看一下RCE,毕竟thinkphp最广为人知的漏洞就是RCE。首先是源码的下载,我从这里下载:thinkphp下载这里我下载的是thinkphp5.0.22完整版,如果下载核心版的话可能会有一些代码的缺失。debug模式开启下的RCE和之前tp5.1的反序列化一样,RCE的执行点也都是重要的request类。关键在于这个filterValue()函数:/** * 递归过滤给定的值 * @param mixe原创 2021-03-03 12:02:28 · 3471 阅读 · 4 评论 -
Joomla 3.4.5 反序列化漏洞复现
准备Joomla3.4.5的源码可以在下面的链接中下载到:Joomla 3.4.5源码然后phpstudy建一下复现环境即可。要求php版本<5.6.13,原因如下:在php>=5.6.13版本中修复此问题,5.6.13版本以前是第一个变量解析错误注销第一个变量,然后解析第二个变量,但是5.6.13以后如果第一个变量错误,直接销毁整个session。然后直接访问网页,创建网站,创建数据库即可,环境即搭建成功。使用vulhub同样可以:vulhub:joomla3.4.5反序列化原创 2021-03-02 17:38:02 · 742 阅读 · 0 评论 -
thinkphp3.2.3 SQL注入漏洞复现
前言具体代码可以composer或者github或者一些其他网站上下载。然后本地创建一下数据库,改一下数据库的配置,在ThinkPHP/Conf/convention.php下面:由于比较懒,我直接用sqli-labs的数据库了,在IndexController.class.php里面写个查询:class IndexController extends Controller { public function index(){ $data = M('users')->原创 2021-02-24 21:49:53 · 5784 阅读 · 1 评论 -
Thinkphp5.1 反序列化漏洞复现
前言开始tp5.1的反序列化链的复现,这个链我上学期10月份的时候尝试复现过,但是当时的自己代码审计能力,反序列化的能力也都实在太菜,不足以理解这个链。这个链相比yii2,laravel5.7,5.8的那些链,长度和难度都提高了很多,思维的跳跃也很,自己也要想办法把它啃下来。源码下载:thinkphp5源码或者去github上下载也可以。然后写个控制器:<?phpnamespace app\index\controller;class Unserialize{ pub原创 2021-02-18 15:21:34 · 4472 阅读 · 0 评论 -
laravel5.8 反序列化漏洞复现
前言上一篇文章复现了一下laravel5.7的反序列化,这篇复现一下5.8的反序列化。还是github上下载源码:laravel5.8往composer.json的require里面加上"symfony/symfony": “4.*”,然后composer update。如果提示 Allowed memory size of bytes exhausted,参考这篇文章:运行 composer update,提示 Allowed memory size of bytes exhausted然后还原创 2021-02-17 20:18:20 · 1732 阅读 · 0 评论 -
laravel5.7 反序列化漏洞复现
前言之前接触yii2,接下来就遇到laravel5.7的反序列化了,复现了一下laravel5.7的反序列化链,学习了一波。去github上下载源码:laravel5.7,下载下来的可能回没有vendor目录,需要在根目录执行composer install就可以了。...原创 2021-02-17 15:25:11 · 2081 阅读 · 3 评论 -
yii2框架 反序列化漏洞复现
前言最近学习PHP反序列化的时候遇到了yii2反序列化的利用,就顺便搭了一下环境,跟着网上各种大师傅们的文章进行了一波复现和学习,提高自己代码审计的能力。漏洞出现在yii2.0.38之前的版本中,在2.0.38进行了修复,CVE编号是CVE-2020-15148:Yii 2 (yiisoft/yii2) before version 2.0.38 is vulnerable to remote code execution if the application calls unserialize()原创 2021-02-16 15:08:08 · 3784 阅读 · 4 评论 -
[强网杯 2019]Upload
前言又是一道反序列化的题目,而且也是thinkphp,一审起来才感觉到自己的代码审计能力就像屎一样,反序列化的链都找偏了。这个寒假不审个几万行代码我tm就去吃屎,草。WP进入环境看到那个favicon就想不会是thinkphp吧,扫了一下目录果然是thinkphp:www.tar.gz可以下载到源代码,对controller审计一下。<?phpnamespace app\web\controller;use think\Controller;class Index extends原创 2021-01-25 17:57:33 · 343 阅读 · 0 评论 -
DJBCTF2021-WEB-虎山行
前言刚结束的DJBCTF的一道web题,当时看到这么多代码太懒了没去审,其实这题并不难,自己还是太菜了,没去审的另一个原因也是自己太菜了觉得自己审不出来什么,还是需要克服困难去挑战自己啊。而且这个题目也比较有意思,关于那个phar反序列化的知识和一个大师傅讨论后也学习到了超级多的东西,对于phar反序列化的理解也是加深了许多。WP虎山行有2题,本来是1题,但是因为被minicms本身install.php这个鸡肋的RCE给非预期了,所以又出了第二题。不过拿install.php秒第一题是真的爽(笑)。原创 2021-01-25 14:31:12 · 460 阅读 · 0 评论 -
[GKCTF2020]老八小超市儿
知识点shopxo后台全版本获取shell搜索能力WP这题又没做出来,很迷,只要问题在于自己知道应该是考察shopxo的漏洞,但是发现怎么查都查不到,但是大师傅们总能是可以查到各种他们需要的东西,还是自己搜索的能力太弱了,这方面的能力也需要加强啊,毕竟做题都是面向谷歌搜索(笑)。这题的获取shell可以参考这篇文章:渗透测试|shopxo后台全版本获取shell复现已经讲的很详细了,一直到把文件传上去都是很详细的。但是传上去的文件到底在哪是一个很大的问题。通过在主页f12看源码,可以看原创 2020-11-27 00:44:09 · 279 阅读 · 0 评论 -
[BJDCTF 2nd]old-hack 1
WP一道直接利用thinkphp的RCE洞的题目。首先进入环境,得知这是一个thinkphp5,通过输入?s=1来报错,获得版本信息(是一个小姿势):tp5.0.23这个版本以及相近的版本以RCE而出名的,去网上搜一波payload,搜到了:?s=1_method=__construct&filter[]=system&server[REQUEST_METHOD]=ls /直接打就可以执行。不过我一开始执行的时候,光看到了system(): Cannot execu原创 2020-11-12 14:42:37 · 1039 阅读 · 1 评论