在某次眾測項目中,開局發現是一個登錄框,于是想放棄。經過弱口令工程師一頓輸出,最終getshell。于是就有了這次分享~
1
接口未授權挖掘
在網站未登錄的情況下,由于不知道后臺接口。唯一辦法通過js文件、路徑掃描。通過這種收集方式使用burp進行批量掃描,分別探測GET/POST請求。觀察響應包跟狀態碼。判斷響應包,確定存在未授權后,再構造數據包。

2
突破登錄框
在測試站點中,很多時候不提供測試賬號。此時,就需要一個嘗試爆破賬號,但是有時候會有驗證碼(重發登錄包,50%假驗證碼)。正好這次沒有驗證碼。

拿到這種網站,先判斷一下有無用戶名猜解。判斷存在與不存在賬號。測試常見的admin、admin321,觀察它們之間的提示。就算發現有這個admin賬號,但是有密碼錯誤鎖定的情況,那么就嘗試爆破賬號。(手機號碼與常規賬號,總會有測試賬號或者總會有人設置弱口令)

密碼設置為弱口令123456,賬號為字典進行爆破,根據響應包大小進行判斷。最終拿到測試賬號。
3
后臺漏洞挖掘
通過測試賬號進入后臺,額外注意接口跟上傳下載點。由于這個我們沒有網站代碼,只能訪問相關功能,并burp插件Autorize記錄探測那些接口存在未授權。通過頁面翻找,找到一個正常的上傳點。

構造正常上傳一個txt文件,發現這個功能先是上傳后并讀取該文件。

并嘗將cookie憑證刪除,發現仍然可以上傳。

那么將它轉成是前臺的上傳漏洞了。經過測試發現,目錄也是可以穿越的,文件名可以任意。讀取文件接口也存在穿越問題。

根據接口判斷,該網站是可能是springboot的,顯然上傳jsp是不行。那么還剩下兩個方式拿權限。一是上傳ssh登錄憑證、二是寫定時任務反彈回來。掃描了一下ip,發現ssh端口未對外。于是嘗試定時任務。

等了幾分鐘沒反彈回來,通過于是又看了一下定時任務的日志。

最近的定時任務日志是在前一天,要么就是服務器時間慢了一天,或者是定時任務管理器在前一天被停了。再次嘗試寫定時任務。
* * * * * * whoami>/tmp/data.txt
仍然無法讀取到tmp下面的data文件,至此確定定時任務真沒起來。
4
柳暗花明
難道真的無法getshell了嗎?通過下載接口,讀取root用戶的歷史命令。找到網站路徑。

看到這個webapps,瞬間精神了。直接構造上傳路徑,并輸出jsp文件。上傳shell~

哥斯拉連接上去,上個whoami截圖。

通過檢查網站文件,發現是一個tomcat里面有個目錄是springboot。但是網站沒見到其他的jsp文件。

這種開發方式屬實少見。網站也是通過war方式部署。
由于是未授權的上傳點。也算是前臺rce了~~~
LemonSec
一顆小胡椒
Coremail郵件安全
RacentYY
尚思卓越
RacentYY
ManageEngine卓豪
尚思卓越
ManageEngine卓豪
RacentYY
007bug
上官雨寶