使用關鍵詞得到目標原始碼
前言:對某網站進行滲透測驗,此次滲透給的是一個主域名,并且也沒有子域,打開了目標網站先對其進行一波資訊收集

中間件: IIS 8.5

輸入admin發現自動添加了/
說明其目錄存在,那么盲猜一波檔案,login.aspx default.aspx main.aspx 等等

最終在login.aspx下面發現后臺登錄頁面,這不猜他一波弱口令??
一頓操作過后賬號被鎖

熟悉的開局,既然如此只能嘗試其他方法了,
在主頁的html代碼中發現了某處資訊

設計制作?根據后面的域名訪問過去,是一個建站公司
那么,入手點來了,IIS8.5+ASP.NET+建站系統
先掃一波備份檔案:

400多條ip這開發商還行,使用FOFA查詢工具,批量匯出

然后我們來掃一下備份檔案,這里推薦我B哥的掃描器
htt刪ps://gith刪ub.com/broke刪n5/WebAl刪iveScan
可以進行批量存活掃描和目錄掃描

在好幾個站下面發現web.zip備份檔案,
下載下來過后,對其目標站點檔案進行了對比,基本一致

拿到代碼開始審計多次碰壁
那么開始審計,

在某介面處放下敏感操作 WebClient.DownloadFile (遠程檔案下載)
由于該方法需要提供絕對路徑,,比較頭疼,但我跟蹤相關引數,發現,
在另一個方法中呼叫了該方法,

并傳入Server.MapPath,這根本不需要找絕對路徑了系統都給你安排好了,
那么構造POC:
ash刪x/api.ashx?m=do刪wnloadfile&FilePath=刪asmx.jpg"/>

訪問地址:

檔案存在,那么證明可行
回到目標地址:

被修復了檔案不存在
繼續回到代碼中,審計其他漏洞在其他介面中,也均存在多個漏洞,如ueditor遠程抓取漏洞

檔案重命名可Getshell

但是這些介面都需要登錄

這就很頭疼了,打算在一些無需登錄的介面中嘗試尋找SQL注入,
最終在某處發現SQL拼接,

但是這里呼叫了IsSafeSqlString檢測

常見符號基本被卡的死死的
拿下開發商尋找通用賬號逆向加解密演算法
由于都是使用了相同的建站程式,懷疑有程式內置賬戶
于是準備通過剛才審計出來的漏洞,從同程式的站點入手
最終在某個站點成功拿到Webshell
看了下相關資訊

居然是廠商的演示站群,存了該開發商所有站點原始碼,
應該是在開發程序中的演示環境吧站點有很多,估計每個客戶都有,
在服務器里翻到了目標站點的演示網站

根目錄下有zip網站備份和sql 資料庫備份,
如果說目標站點是直接搬遷過去的,那么后臺賬戶密碼應該是一樣的,
將其SQL檔案下載下來,再其中搜索相關資訊

發現了插入賬戶的SQL陳述句,其密碼是加密過的

cmd5解不開,看了下密文是33位加密,
但是登錄程序中,密碼是RSA加密過后傳輸的,而后端居然是33位的md5加密

因為有源代碼,追蹤了一下登錄了相關方法,

密碼傳入后,呼叫了CommFun.EnPwd進行了一次加密,
追蹤EnPwd方法

可以看到,傳入進來的密碼是RSA型別,先進行了一次RSA解密,然后進行了一次DES加密,
追蹤DESEncrypt.Encrypt方法,

這里是將Encrypt方法封裝了一下,并傳入加密key,
其核心加密方法為下:

并且,在該類里,還定義了解密方法

得到了加密方法和解密方法以及key,那么只需要將其單獨拉出來呼叫就可以了,

將得到加密字符進行解密,得到結果

嘗試登錄

忙活半天,白干了,
柳暗花明拿下目標shell
已經下午4點了,還是一無進展,準備嘗試繞過SQL過濾,
就在這時候,我發現了一處SQL注入點,

某方法接收了兩個引數,卻只對一個引數進行了過濾,
在目標網站上測驗

存在注入,發現存在waf使用垃圾引數填充成功繞過waf

直接上sqlmap安心的跑,得到系統賬戶以及密文
將得到的密文進行解密,得到結果

更多干貨分享 有相關學習資料 請加入我的企鵝圈哦!!!
嘗試登錄,這下總對了吧!

終于進來了!!!!
經過之前的審計,發現了很多介面都存在漏洞,現在成功登錄了,豈不是隨便getshell?
直接ueditor帶走,

成功shell
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/195817.html
標籤:其他
