
由images.1.vip牵扯出的漏洞
目录遍历
测试目标小程序头像上传功能时发现文件地址链接访问一手,可以正常显示图片。
尝试上传其他类型的后缀会拉黑ip,那只能测试其他漏洞。
先看看这个图片地址,把后面路由地址删除后爆装备了,目录遍历。使用工具统计共计泄露22万份文件。
任意文件上传
这个存储桶可以任意文件上传,造成文件覆盖。
备份文件泄露
存储桶中泄露的文件主要都是用户头像,和商品图片。通过筛选文件后缀发现存在数据库和网站源码的备份文件。下载下载,统统下载。
数据库是mysql的,网站源码是php的。本地用phpstudy搭建mysql数据库,由于phpmyadmin无法导入大于5md的文件所以只能通过命令导入了。
phpstudy数据库文件夹相对路径在:\phpstudy\Extensions\MySQL8.0.12\bin
mysql -u root -p -e "CREATE DATABASE IF NOT EXISTS 库名;" && mysql -u root -p 库名 < 目标文件地址
信息泄露
在ybwm_v3_config表中泄露了多个key,经过整理共获得6个key:1个七牛云、2个阿里云、3个微信id
其中一个阿里云账户存在两个存储桶,一个桶可以任意文件上传,造成文件覆盖
另外在数据库中找到了另一个存储桶:oss4.1.cn,这个后续会继续进行渗透。
弱口令
在ybwm_v3_admins表中泄露了管理员帐户,回到小程序找到商城的后台地址,并成功登录到后台
备份文件分析
分析站点源码时注意到在根目录下存在.env文件,里面存有数据库(canyin、canyin、354AJP7p23kTNJwX)、REDIS的账号密码(MiIsg4LBP0)但只能本地连接。在后续爆破目录得到数据库管理工具:1.vip/web/adminer.php,登录后得到数据库的控制权
想要深度利用命令执行时,对方服务器的宝塔拦截了
由oss4.1.cn牵扯出的漏洞
任意文件上传
测试后发现这个存储桶存在任意文件上传造成文件覆盖
目录遍历
访问该存储桶依旧可以目录遍历,工具统计一共泄露了6844份文件
备份文件泄露
这个存储桶同样泄露了数据库、网站的备份文件
信息泄露
导入数据库后在eb_system_admin表中泄露了管理员账户密码,但是没有找到商城的登录地址只能废弃。
在eb_system_config表中获得4个key:1个七牛云、1个企业微信、1个小程序id、1个阿里快递查询id
说一说阿里快递查询id,这个功能是需要充值的
如果后面有泄露阿里快递查询id泄露的可以使用下方官方提供的脚本
# coding=UTF-8
import requests
host = 'https://wuliu.market.alicloudapi.com'
path = '/exCompany'
method = 'GET'
appcode = '你自己的AppCode'#开通服务后 买家中心-查看AppCode
querys = 'no=快递单号'
bodys = {}
url = host + path + '?' + querys
header = {"Authorization":'APPCODE ' + appcode}
try:
res = requests.get(url,headers=header)
except :
print("URL错误")
exit()
httpStatusCode = res.status_code
if(httpStatusCode == 200):
print("正常请求计费(其他均不计费)")
print(res.text)
else:
httpReason = res.headers['X-Ca-Error-Message']
if(httpStatusCode == 400 and httpReason == 'Invalid Param Location'):
print("参数错误")
elif(httpStatusCode == 400 and httpReason == 'Invalid AppCode'):
print("AppCode错误")
elif(httpStatusCode == 400 and httpReason == 'Invalid Url'):
print("请求的 Method、Path 或者环境错误")
elif(httpStatusCode == 403 and httpReason == 'Unauthorized'):
print("服务未被授权(或URL和Path不正确)")
elif(httpStatusCode == 403 and httpReason == 'Quota Exhausted'):
print("套餐包次数用完")
elif(httpStatusCode == 403 and httpReason == 'Api Market Subscription quota exhausted'):
print("套餐包次数用完,请续购套餐")
elif(httpStatusCode == 500 ):
print("API网关错误")
else:
print("参数名错误 或 其他错误")
print(httpStatusCode)
print(httpReason)官方说明文档:https://market.aliyun.com/detail/cmapi021863#sku=yuncode15863000017

暂无评论内容