news 2026/6/25 21:44:11

[CTF]攻防世界:easy_laravel 学习

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[CTF]攻防世界:easy_laravel 学习

题目:攻防世界:easy_laravel 学习

提示:blade + pop chain(代码审计+sql注入+blade缓存+反序列化)

直接F12查看源码


php的web框架

一、注入

查看源码:

这里应该是注入点:

看到管理员认证,判断邮箱

可以重置密码,但是需要token


token在表password_reset中

确定思路:注册用户sql注入拿到token–>reset一下管理员的密码,生成token–>登录获取flag

1、注入

laravel内置重置密码在Illuminate\Auth\Passwords中实现,重置密码需要填写邮箱,并向邮箱发送一个重置链接。
laravel在5.4以后都是将token加密存储的,而之前是明文存储,所以我们就可以注入出token重置admin密码
先访问**/password/reset重置admin密码,然后注出token,访问/password/reset/[token]**,完成重置


2、登录后发现显示 no flag

二. blade 模板

Blade 是 Laravel 提供的一个简单而又强大的模板引擎。和其他流行的 PHP 模板引擎不同,Blade 并不限制你在视图中使用原生 PHP 代码。所有 Blade 视图文件都将被编译成原生的 PHP 代码并缓存起来,除非它被修改,否则不会重新编译,这就意味着 Blade 基本上不会给你的应用增加任何负担。Blade 视图文件使用 .blade.php 作为文件扩展名,被存放在 resources/views 目录。

所以当我们修改了flag的balde模板但是还没有编译使其渲染出新的flag页面,其页面还是没修改时的那个缓存

删除缓存文件:
1、上传phar文件
2、利用phar文件删除缓存文件

upload 实现phar文件上传 check利用


通过此类实现反序列化。

确定一下相关文件目录:
1、blade缓存位置:storage/framework/views
2、apache默认目录:/var/www/html/

加一起缓存文件就是 :/var/www/html/storage/framework/views/flag.blade.php
(sha1()==>34e41df0934a75437873264cd28e2d835bc38772)

phaer 文件是以序列化形式存储的。当解析它的时候,必然会用到反序列化的一些魔术方法。受影响的函数包括


从其他师傅那学习到的生成phar的代码:

<?php require'vendor/autoload.php';$a=serialize(newSwift_ByteStream_TemporaryFileByteStream());var_dump(unserialize($a));var_dump($a);# 这个函数很有趣,$_path 也就是删除的目录是可以自己制定的,将这里面的内容换成我们想要的内容,就可以删掉flag的缓存文件。 $a=preg_replace("/\/tmp\/FileByteStream[\w]{6}/","/usr/share/nginx/html/storage/framework/views/34e41df0934a75437873264cd28e2d835bc38772.php",$a);$a=str_replace('s:25','s:90',$a);# 这里将 _path 的内容修改掉 $b=unserialize($a);$p=newPhar('./shell.phar',0);$p->startBuffering();$p->setStub('GIF89a<?php __HALT_COMPILER(); ?>');# 改文件头 $p->setMetadata($b);$p->addFromString('test.txt','text');$p->stopBuffering();rename('shell.phar','1.gif')?>

生成后,将1.gif上传,然后点击check。

修改数据包

重新访问/flag路由,得到flag


flag: flag{d64e4b06f672429682a96b11172a8938}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/24 8:24:28

腾讯开源Hunyuan-0.5B-Instruct-FP8:轻量级大模型部署新纪元

腾讯开源Hunyuan-0.5B-Instruct-FP8&#xff1a;轻量级大模型部署新纪元 【免费下载链接】Hunyuan-0.5B-Instruct-FP8 腾讯开源混元大语言模型系列新成员Hunyuan-0.5B-Instruct-FP8&#xff0c;专为高效部署而生。该模型虽仅0.5B参数量&#xff0c;却继承了混元系列强大基因&am…

作者头像 李华
网站建设 2026/6/25 21:03:47

2.2 人机协同开发新模式:规划-设计-实现-回顾四步法

2.2 人机协同开发新模式:规划-设计-实现-回顾四步法 在AI编程时代,传统的软件开发流程正在发生深刻变革。人机协同开发成为新的趋势,其中Cursor等AI编程工具扮演着越来越重要的角色。本节课将介绍一种新的开发模式——"规划-设计-实现-回顾"四步法,展示如何在实…

作者头像 李华
网站建设 2026/6/24 20:38:26

人工智能时代:探索智能助手的发展与未来趋势

人工智能时代&#xff1a;探索智能助手的发展与未来趋势 【免费下载链接】embeddinggemma-300m-qat-q4_0-unquantized 项目地址: https://ai.gitcode.com/hf_mirrors/unsloth/embeddinggemma-300m-qat-q4_0-unquantized 在当今科技飞速发展的时代&#xff0c;人工智能技…

作者头像 李华
网站建设 2026/6/25 12:32:19

人工智能行业动态:大模型技术突破引领产业变革新方向

人工智能行业动态&#xff1a;大模型技术突破引领产业变革新方向 【免费下载链接】Qwen3-235B-A22B-MLX-8bit 项目地址: https://ai.gitcode.com/hf_mirrors/Qwen/Qwen3-235B-A22B-MLX-8bit 近年来&#xff0c;人工智能领域的发展呈现出日新月异的态势&#xff0c;尤其…

作者头像 李华
网站建设 2026/6/25 18:19:11

100秒出片:Step-Video-T2V-Turbo如何让视频创作效率提升300倍?

导语&#xff1a;在AIGC技术爆发的2025年&#xff0c;阶跃星辰研发的Step-Video-T2V-Turbo模型以颠覆性的推理步数蒸馏技术&#xff0c;将文本生成视频的效率提升3-5倍&#xff0c;仅需10-15步即可输出204帧高清内容。这一突破不仅重新定义了视频创作的速度边界&#xff0c;更为…

作者头像 李华