CVE-2021-3129-Laravel Debug mode 遠程代碼執行漏洞
一、漏洞簡介
Laravel是一套簡潔、開源的PHP Web開發框架,旨在實現Web軟件的MVC架構。
Laravel開啟了Debug模式時,由於Laravel自帶的Ignition 組件對file_get_contents()和file_put_contents()函數的不安全使用,攻擊者可以通過發起惡意請求,構造惡意Log文件等方式觸發Phar反序列化,最終造成遠程代碼執行。
二、影響版本
Laravel <= 8.4.2
Ignition <2.5.2
三、環境准備&漏洞復現
環境地址:
環境和exp下載:后台回復 “CVE-2021-3129” 下載即可
或者下面下載:https://github.com/SNCKER/CVE-2021-3129
執行
docker-compse up -d
訪問8888端口即可
訪問地址:http://127.0.0.1:8888
漏洞復現:
1、在下載GitHub上下載的docker環境中帶有exp,使用此exp需要下載phpggc
2、把exp和phpggc放在同一目錄,使用python3執行exp,可以看到執行了exp里命令
Macos執行報錯
切換kali環境執行命令:
修改腳本添加參數:
環境和exp下載:后台回復 “CVE-2021-3129” 下載即可
py腳本code
四、安全建議
建議將 Laravel 框架升級至8.4.3及以上版本,或將 Ignition組件升級至 2.5.2 及以上版本。
下載鏈接:
https://laravel.com/docs/8.x#laravel-the-fullstack-framework
參考:
https://mp.weixin.qq.com/s/ShRvF_YeV9JbJJnOUjklCw
https://github.com/SNCKER/CVE-2021-3129
https://www.venustech.com.cn/new_type/aqtg/20210114/22299.html
免責聲明:本站提供安全工具、程序(方法)可能帶有攻擊性,僅供安全研究與教學之用,風險自負!
轉載聲明:著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
訂閱查看更多復現文章、學習筆記
thelostworld
安全路上,與你並肩前行!!!!
個人知乎:https://www.zhihu.com/people/fu-wei-43-69/columns
個人簡書:https://www.jianshu.com/u/bf0e38a8d400
個人CSDN:https://blog.csdn.net/qq_37602797/category_10169006.html
個人博客園:https://www.cnblogs.com/thelostworld/
FREEBUF主頁:https://www.freebuf.com/author/thelostworld?type=article
歡迎添加本公眾號作者微信交流,添加時備注一下“公眾號”