性色av无码不卡中文字幕,中文字幕精品久久久久人妻红杏1,亚洲AV永久无无码精品一区二区三区 ,亚洲国产精品日韩AV不卡在线

 

【漏洞復現】Laravel Debug mode RCE(CVE-2021-3129)

 中科至善 2021-12-02 

一、應用簡介

Laravel是一套簡潔、優(yōu)雅的PHP Web開發(fā)框架(PHP Web Framework)。它可以讓你從面條一樣雜亂的代碼中解脫出來;它可以幫你構建一個完美的網絡APP,而且每行代碼都可以簡潔、富于表達力。

在Laravel中已經具有了一套高級的PHP ActiveRecord實現 -- Eloquent ORM。它能方便的將“約束(constraints)”應用到關系的雙方,這樣你就具有了對數據的完全控制,而且享受到ActiveRecord的所有便利。Eloquent原生支持Fluent中查詢構造器(query-builder)的所有方法。目前最新版本為8.70。

在ZoomEye上搜索可獲得1,640,229條記錄。


 
二、漏洞描述

Laravel在開啟了Debug模式時,由于自帶的Ignition組件對file_get_contents()和file_put_contents()函數的不安全使用,使得攻擊者可以通過發(fā)起惡意請求,構造惡意Log文件等方式觸發(fā)Phar反序列化,最終造成遠程代碼執(zhí)行。

三、影響版本

Laravel <= 8.4.2
Ignition <2.5.2

四、環(huán)境搭建

下載環(huán)境,在GitHub上有集成好的環(huán)境,可利用docker一鍵部署
git clone https://github.com/SNCKER/CVE-2021-3129

 
下載后進入CVE-2021-3129目錄,執(zhí)行命令docker-compose up -d拉取環(huán)境
 
 

完成后會將端口映射到8888上。
 

訪問地址,點擊首頁的Generate app key。

 
之后刷新一下頁面,出現如下圖所示即搭建成功。


五、漏洞復現

exp的使用需要借助phpggc,可在GitHub上下載:git clone https://github.com/ambionics/phpggc.git,下載完成后對hphggc給定執(zhí)行權限。

 
修改exploit.py最后面的地址為自己的攻擊地址(該exp在下載的CVE-2021-3129目錄中),之后將exploit.py放在與phpggc同一目錄,使用python3執(zhí)行。

 

 
六、exp分析

該漏洞利用過程其實是利用phpggc生成對應的phar文件→清空laravel.log→將編碼后的字符寫入到log中→清除干擾字符→執(zhí)行phar反序列化,在exploit.py中通過定義exp類,設計phpggc鏈集合,將上述操作集中起來之后調用。

 
清除日志部分

 
編碼處理以及反序列化

 
最終執(zhí)行相關命令

 
七、漏洞分析

漏洞出現在/src/vendor/facade/ignition/src/Solutions/目錄下的MakeViewVariableOptionalSolution.php文件中。

 
這里的主要功能就是把$variableName替換為為$variableName ?? ''并且使用了file_get_contents()去讀取了一個可控的路徑參數,所以在這里可以用phar://協(xié)議去觸發(fā)phar反序列化。

八、修復建議

建議通過官網將 Laravel 框架升級至8.4.3及以上版本,或將 Ignition組件升級至 2.5.2 及以上版本。

 證書咨詢

 電話咨詢  在線咨詢  預約報名