一、引言:
某天在挖掘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即可。