一次普通的滲透測試

語言: 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這種漏洞平時更多存在於漏洞測試的報告中。這次實戰中竟然成功了,也告訴我們一個道理,在沒有嘗試所有的方法之前,不要輕易放棄;

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