| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> PHP知识库 -> CVE-2021-3129漏洞复现 -> 正文阅读 |
|
[PHP知识库]CVE-2021-3129漏洞复现 |
1、 漏洞概述 Laravel自带的Ignition 组件在开启了Debug模式时,file_get_contents()和file_put_contents()函数使用存在不安全的可能性,攻击者可以通过发起恶意请求,构造恶意Log文件等方式触发Phar反序列化,最终造成远程代码执行。 ?默认情况下,laravel的日志文件是放置在storage/logs/laravel.log文件下,用来储存一些PHP的错误和一些堆栈追踪的相关信息。此时可以通过对该日志文件进行写操作,从而将该log文件变成恶意的phar文件。 影响版本 ?Laravel < 8.4.3 2、复现过程 2.1、 拉取容器 DockerHub上有该漏洞对应的环境 直接拉取镜像 启动环境 sudo docker run -d -p 8080:80 vulfocus/laravel-cve_2021_3129 靶机端 浏览器可正常访问 攻击机端也可通过http://靶机ip:8080访问 2.2、 准备工作 安装工具phpggc sudo git clone https://github.com/ambionics/phpggc.git 赋予执行权限 sudo chmod 777 phpggc/phpggc 该工具的作用是:在laravel的依赖里面找一条能够rce的链,如monolog/rce1。生成对应的phar文件,并将phar文件base64编码 命令cat /etc/passwd的base64编码 2.3、 攻击 2.3.1、 开启Debug模式 burpsuite抓取一个数据包,按照下图的形式修改并发送数据包? 服务器返回数据(在response窗口下点击render按键可查看) 页面出现了Ignition的报错,说明漏洞存在,且开启了debug模式 2.3.2、 发送数据包,将原日志文件清空
2.3.3、 给log添加前缀AA,用于对齐
2.3.4、 把准备工作中生成的base64编码的POC文件放入viewfile中发送,并且在最后加上一个a,用于保证log中只有一个POC生成并发挥作用 2.3.5、 清除干扰字符准备进行反序列化
可以在靶机端进入容器中,查看当前log的状态 ========================= 注:进入容器的命令为 sudo docker exec -it container-id /bin/bash 其中container-id可以通过命令sudo docker ps查看,最左端显示该容器的id) 由于该镜像的log默认在storage/logs/laravel.log,故找到对应文件夹后 =========================== 查看log的命令为: cat laravel.log 可以看到log中只留下了POC 2.3.6、 使用phar://进行反序列话,执行代码 在response中查找,可以看到返回了/etc/passwd的内容 特别注意:在涉及到对log的修改时,response的状态都不是200ok。 补充: 也可以执行其他指令,如: 命令: id 生成的POC 返回的数据 3、 参考资料 https://cloud.tencent.com/developer/article/1797520https://cloud.tencent.com/developer/article/1797520https://www.freebuf.com/vuls/280508.htmlhttps://www.freebuf.com/vuls/280508.htmlhttps://reader-l.github.io/2021/05/19/CVE-2021-3129-Laravel-DebugModeRce%E6%BC%8F%E6%B4%9E%E5%A4%8D%E7%8E%B0%E5%88%86%E6%9E%90/https://reader-l.github.io/2021/05/19/CVE-2021-3129-Laravel-DebugModeRce%E6%BC%8F%E6%B4%9E%E5%A4%8D%E7%8E%B0%E5%88%86%E6%9E%90/https://zhuanlan.zhihu.com/p/351363561https://zhuanlan.zhihu.com/p/351363561https://tari.moe/2021/06/03/laravel8-debug-rce/https://tari.moe/2021/06/03/laravel8-debug-rce/https://www.cnblogs.com/yesec/p/15139720.htmlhttps://www.cnblogs.com/yesec/p/15139720.htmlhttps://mp.weixin.qq.com/s/k08P2Uij_4ds35FxE2eh0ghttps://mp.weixin.qq.com/s/k08P2Uij_4ds35FxE2eh0g 声明: 本文章仅用于学习交流,严禁非法用途 |
|
PHP知识库 最新文章 |
Laravel 下实现 Google 2fa 验证 |
UUCTF WP |
DASCTF10月 web |
XAMPP任意命令执行提升权限漏洞(CVE-2020- |
[GYCTF2020]Easyphp |
iwebsec靶场 代码执行关卡通关笔记 |
多个线程同步执行,多个线程依次执行,多个 |
php 没事记录下常用方法 (TP5.1) |
php之jwt |
2021-09-18 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/27 5:41:26- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |