天天看點

CVE-2019-11043 漏洞複現

PHP-FPM 遠端代碼執行漏洞(CVE-2019-11043)

漏洞介紹

在長亭科技舉辦的 Real World CTF 中,國外安全研究員 Andrew Danau 在解決一道 CTF 題目時發現,向目标伺服器 URL 發送 %0a 符号時,服務傳回異常,疑似存在漏洞。

在使用一些有錯誤的Nginx配置的情況下,通過惡意構造的資料包,即可讓PHP-FPM執行任意代碼。

複現環境vnlhub

複現exp需要安裝go語言環境

apt-get install golang -y

然後換個源(國内)

go env -w GO111MODULE=on

go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct

使用github公開exp

https://github.com/neex/phuip-fpizdam(裡面有更詳細的介紹)

使用go get github.com/neex/phuip-fpizdam

或者git clone下來 go build

會生成一個 phuip-fpizdam 運作

CVE-2019-11043 漏洞複現
CVE-2019-11043 漏洞複現

成功執行語句

注:

因為php-fpm會啟動多個子程序,在通路

/index.php?a=id

時需要多通路幾次,以通路到被污染的程序

跟進exp attack.go

CVE-2019-11043 漏洞複現
CVE-2019-11043 漏洞複現

簡單分析一下首先調用另一個phpini.go使payload能寫入然後再寫入一句話