一次普通的滲透測試

語言: CN / TW / HK

之前的一個案例,雖然最終結果並沒有100%完成,不過也算是比較滿意,過程中的一些小思路分享給大家。

目標是一個跨境的電商站。得到目標後先進行了常規的資訊收集,得到以下可用資訊:

主站域名存在CDN,未找到真實IP,後端語言為php。系統做了偽靜態處理,系統使用CMS為mangento(麥進鬥)CMS,但管理後臺被更改。

一上來運氣不錯,目標用的mangento框架正好存在sql注入漏洞。

可惜密碼的hash加了鹽,我根據原始碼演算法新增預設鹽進行爆破碰撞,並沒有爆破出明文來。通過sql注入也沒法直接獲取shell。

那就把目光放到頁面功能處。在商品評論點發現可以任意上傳檔案。

結果直接傳到了圖床伺服器,並不是主站。資訊蒐集了一下,跟主站沒啥關係。

繼續探索,在收穫地址處發現一處儲存型XSS。

當時分析這是一個self-xss,正常情況下管理員看的跟使用者看的不是一個頁面。但是因為實在沒啥思路,所以抱著試一試的心態還是插入了xss程式碼。

然後還真打到了,事後分析,應該是儲存型xss存到資料庫,管理後臺呼叫的時候前端也沒做防xss處理,讓我們運氣好盲打成功了。

根據來源地址發現是該商城的訂單管理系統,看來該商城訂單處理和前端下單是分離的。

雖然打到了管理員cookie,但是都失效了。還好之前有sql注入跑出來的使用者名稱,一頓爆破之後找到一個弱口令登入,登入後發現還是個管理員許可權。

進了後臺,為了獲取shell我一般遵循下面5個思路:

1. 通過網站指紋搜尋可直接rce的漏洞;

2. 找注入,通過注入點獲取shell;

3. 找上傳,不光是直接傳shell的,能找到檔案包含點也行;

4. 找配置,看下配置的地方是否可能讓你直接程式碼注入,亦或是能直接執行操作伺服器的介面;

5. 找模板,網站模板編輯的地方,可能存在程式碼注入。

順著上面的思路在後臺慢慢摸索,一個郵件功能引起了注意。

這個郵件可以定製多種模板用於和客戶交流,正好對應了上面所述的第5點-找模板。點進去看下具體配置。

郵件模板可以編輯php程式碼,嘗試編輯後傳送給臨時郵箱。

臨時郵箱果然解析出了php程式碼。

接下來就是插入wget命令,再次傳送郵件。

成功獲取webshell。

現在只是拿到了訂單管理的shell,還要拿主站的shell。

整理下思路。主站的訂單會發到訂單管理後臺進行處理,說明其中有對應的api介面。那我們是否可以通過修改api傳輸資料去控制主站的內容甚至獲取主站的shell呢?

照著這個想法,我跟小夥伴不停的在主站下單,然後又在訂單後臺對自己的單子進行各種操作再返回給主站。很可惜嘗試了很久並沒有對主站造成什麼影響。不過對當前的成果也很滿意,就結束了。

簡單總結一下,這次案例從過程上看其實沒什麼太多的新意。但是裡面有兩個第一次,讓我感覺還是有必要分享出來。

第一點就是XSS的後臺盲打,XSS這種漏洞平時更多存在於漏洞測試的報告中。這次實戰中竟然成功了,也告訴我們一個道理,在沒有嘗試所有的方法之前,不要輕易放棄;

第二點就是郵件的模板注入,通常我們遇到的模板注入更多可能是網站的樣式編輯或者框架編輯,這次郵件模板注入也是第一次遇到,後續衍生出可能簡訊傳送,私信傳送都有可能存在模板注入。