Laravel Debug mode RCE(CVE-2021-3129)漏洞复现 – 作者:东塔安全学院

0x00简介

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

0x01漏洞概述

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

0x02影响版本

Laravel <= 8.4.2

0x03环境搭建

1.这里使用GitHub上已有现成的docker环境搭建,使用git下载

git clone https://github.com/SNCKER/CVE-2021-3129

1613789951_60307aff16db5188b502b.png!small

2.进入目录使用docker-compose up -d 拉取镜像

1613789960_60307b088cf424dc2721f.png!small

3.在浏览器访问http://your-ip:8888,出现以下界面环境启动成功

1613789977_60307b19613909ef5786c.png!small

4.点击首页的“generate key”然后刷新页面出现四个格子,表示环境搭建成功

1613789985_60307b218ab4af426ed0b.png!small

1613790001_60307b31d0ce1716a4a30.png!small

0x04漏洞复现

1、在下载GitHub上下载的docker环境中带有exp,使用此exp需要下载phpggc

git clone https://github.com/ambionics/phpggc.git

1613790011_60307b3b992cabba54657.png!small

2、给phpggc执行权限

1613790020_60307b4468a91301e4fe2.png!small

3、修改exploit.py中的url为自己的漏洞地址

1613790038_60307b561af501d84ad07.png!small

4、把exp和phpggc放在同一目录,使用python3执行exp,可以看到执行了exp里命令

python3 exploit.py

1613790173_60307bdd21341be6dd28f.png!small

0x05修复建议

1、 建议升级至安全版本

参考链接:

https://github.com/SNCKER/CVE-2021-3129

来源:freebuf.com 2021-02-20 11:04:35 by: 东塔安全学院

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论