【阿一网络安全】laravel 远程代码执⾏ (CVE-2021-3129)

Θ laravel 远程代码执⾏ (CVE-2021-3129

# 0x00 Laravel简介

Laravel是一套简洁 、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码 中解脱出来; 它可以帮你构建一个完美的网络APP ,而且每行代码都可以简洁 、富于表达力。官网: https://lara vel.com/ 

 Laravel    Debug       Laravel    Ignition  组   file_get_contents()  file_put_contents()函数的不安全使用 ,攻击者可以通过发起恶意请求 ,构造恶意Log文件等方式触发Phar反序 列化 ,最终造成远程代码执行。

# 0x01 漏洞描述

Laravel    Debug   时  ,   Laravel  自   Ignition     file_get_contents()  file_put_contents()函数的不安全使用 ,攻击者可以通过发起恶意请求 ,构造恶意Log文件等方式触发Phar反序

列化 ,最终造成远程代码执行。

# 0x02 影响版本

Laravel <= 8.4.2

# 0x03漏洞复现

启动环境 ,使⽤浏览器访问

验证是否开启了 debug 模式 ,访问

/_ignition/execute-solution 

,并开启bp抓包

修改请求⽅法为 POST ,构造 payload ,发送

如图提⽰file_get_contents()⽅法调⽤失败 ,没有对应⽂件或⽬录 ,说明存在此漏洞 下载 phpggc ⼯具,

 phpggc指定利⽤链为Laravel/RCE5⽣成反序列化利⽤的POC ,此处为写⼊⼀句话⽊⻢到shell.php如图发送AA⽣成⽆害paylaod ,进⾏⽅便后续补⻬

发送POC⾄服务器 ,注意要在viewFile 的最后添加⼀个字⺟ a ,否则最终laravel.log⾥⾯将⽣成两个 POC ,导致利⽤失败

发送如下请求 ,消除多余字符串 ,只留下—个payload通过phar://进⾏反序列化访问 /shell.php有这个⽂件了 ,现在使⽤ 蚁剑 进⾏连接

复现成功

 ⽅法⼆

直接使⽤⼯具⽣成webshell进⾏连接(这⾥使⽤的是哥斯拉)

使⽤哥斯拉进⾏连接

连接成功

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值