內網xss結合host碰撞到內部應用任意訪問
引言
某天在挖掘xss的過程中,本著見框就插的原則,不會輕易放過任何一個可以輸入內容的地方。
有些內容輸入之后即可顯示在頁面上,有些內容輸入之后會輸出到別的系統上,可能是一些后臺,比如你提交漏洞的時候、發表文章的時候,都會打到后臺系統進行審核,這時候我們就會利用xss平臺進行盲打。
然而大部分情況下,審核的后臺都是搭建在內網的,就算存在xss漏洞,我們打到的cookie也是內網系統的,在外網無法進行利用,這樣這個xss就很雞肋了。
但想到之前很火的host碰撞,可能某些廠商會不小心把內部的資產暴露到外網,我們通過將特定域名綁定外網反向代理ip的方式,可能可以突破網絡邊界,訪問到內網的應用。
實戰
通過外網某個發表文章的業務點,打到了內網文章審核系統的cookie。

域名是http://xxx.corp.xxx.com,ping了一下,ip是指向內網的。

嘗試host碰撞,先收集外網子域名,將外網子域名所解析的ip收集起來,作為外網反向代理的ip進行碰撞。
(不得不說火器真好用,都直接幫我們搜集好了)

最終很幸運,我成功撞了進去,將域名xxx.corp.xxx.com與某個外網ip進行host綁定,即可直接訪問。

這里需要通過sso登錄才能訪問,但我們有cookie啊,所以替換cookie直接訪問即可。

因為sso一般都是統一登錄認證,內網可能多個系統都是接入的sso登錄,那么很有可能這個cookie在各系統之間也是通用的。
當我嘗試用這個cookie去訪問別的系統時,果不其然都是可以訪問。

最終基本上實現了內網多個應用的任意訪問。
總結
本次從一個內網xss進行拓展,結合host碰撞突破網絡邊界,成功進入內網系統,最后根據sso認證的特性,實現內網多個應用的任意訪問。
反過來思考,如果我們host碰撞出了很多內部應用,都需要sso登錄才能訪問,那我們或許不一定要從正面突破,只需再回到外網進行xss打點,打一個內網sso賬號的cookie即可。