news 2026/8/25 12:38:33

记一次任意登陆+拓展思路存储桶列桶+垂直越权漏洞+SSRF挖洞实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
记一次任意登陆+拓展思路存储桶列桶+垂直越权漏洞+SSRF挖洞实战

免责声明

本公众号“猎洞时刻”旨在分享网络安全领域的相关知识,仅限于学习和研究之用。本公众号并不鼓励或支持任何非法活动。本公众号中提供的所有内容都是基于作者的经验和知识,并仅代表作者个人的观点和意见。这些观点和意见仅供参考,不构成任何形式的承诺或保证。本公众号不对任何人因使用或依赖本公众号提供的信息、工具或技术所造成的任何损失或伤害负责。本公众号提供的技术和工具仅限于学习和研究之用,不得用于非法活动。任何非法活动均与本公众号的立场和政策相违背,并将依法承担法律责任。本公众号不对使用本公众号提供的工具和技术所造成的任何直接或间接损失负责。使用者必须自行承担使用风险,同时对自己的行为负全部责任。本公众号保留随时修改或补充免责声明的权利,而不需事先通知。

一、任意用户登陆

某商城小程序存在任意用户登录漏洞,攻击者可以接管任意用户查看订单并执行操作,以及造成用户信息泄露。漏洞成因是小程序将用户验证的关键信息"session_key"返回给了前端,攻击者可以利用session_key构造任意用户的加密数据包,发送至服务器解析,从而导致任意用户登录。——

来到小程序:

点击快捷登陆的时候,发送了一个发送包,带有三个参数,encrypteddata(身份凭证)、iv(偏移量)、sessionkey(对称密钥)。

其实很明显能看出来这是一个aes对称加密,这里泄漏了密钥,那么这个加密流程我们可以随意篡改。

出现sessionkey 以及密文和iv ,编写脚本解密。而encrypteddata就是加密后的个人凭证。

进行解密,拿到信息,发现鉴权点,是手机号。

拿到明文信息json内容,把里面的手机号,改成受害者的手机号,然后再通过对称加密,加密回去,形成一个新的加密后的凭证信息。

接管其他用户,测试手机号:177******

执行加密,生成新的encrypteddata(身份凭证)

然后发包,成功登陆,伪造登陆了受害者的手机号账户。

完成接管:

当然,使用脚本进行加解密比较麻烦,这里也提供一个图形化的界面,实现sessionkey加解密。

二、存储桶的拓展列桶攻击

这里域名进行模糊化处理,比如这个登陆界面是。

https://admin.xxx.domain.com

然后发现本站点存在下面类型的存储桶

https://obs.xxx.domain.com

可以看到,全局存储区并不能无签名调用访问。

使用常见桶命名进行子域枚举:

dev, develop, development

test, testing, qa, qas

staging, stage, preprod, pre-prod

uat

sandbox

这里在原本的域名这里,添加test,发现了一个新的存储桶。并且存在列桶漏洞。

也就是

https://test.obs.xxx.domain.com

直接列桶,直接可访问:

https://test.obs.xxx.domain.com/ECS-nginx.vmdk

https://test.obs.xxx.domain.com.com/server.key

010工具打开,得到私钥:

key可以访问并得到的对象包括:虚拟磁盘文件、Nginx安装包、配套的– 公钥/私钥文件;攻击者可以对通往该服务器的加密流量进行中间人攻击(MITM),解密用户的敏感数据,冒充其服务器进行钓鱼。

三、垂直越权

某供应商合作征集平台存在管理员接口配置不当,普通用户可利用该api接口实现账号停用/删除等高危操作。

test_test1/admin123(测试账号,低权限)

admin_hs/admin888(管理员)

登录后来到后台,测试账号没有开放操作管理权限:

使用管理员账户登陆系统,发现存在账户维护功能,但是低权限账户并不会显示这个功能点。

使用高权限账户,进行burp抓包,发现一个高权限接口【修改账户API】

使用低权限账户权限,访问这个高权限修改账户信息的API,直接发包,发现接口报错500.

后面发现是缺少参数,发现需要userid和status参数,这个status参数好猜测,值写1、2、3、0 这种关键词即可。

但是userid是无顺的,需要在历史数据包、个人信息返回包、评论区、排行榜,去找到别人的userid才行。

{"userId":"028F7306CxxxxxxFBA17D","status":"0"}

重新构造数据包。

POST /index.php/api/Account/changeAccountStatusHost: xxxxxContent-Type: application/json{"userId":"028F7306C2A1B3747838B36F0CFBA17D","status":"0"}

这下状态码为200.

再次发送,请求成功,在EDGE中刷新用户ID,权限绕过成功。

后续发现"status":"-1"为删除用户ID的操作,且无法找回;该banner:"status":"1"为启用户ID,但是一旦执行-1后,0/1不再有用。

四、SSRF

漏洞简单分析:后端php中的file_get_contents()函数过滤规则过于简单,只对dnslog关键词进行黑名单限制。

漏洞危害:可通过url参数进行dns外带以及内网主机存活和资产探测。

这里尝试远程请求京东站点,看看能否请求成功。

利用如下:

测试:

GET /xxx/interface/bridge.php?url=https://jd.com HTTP/1.1Host: www.xxxx.comUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0Accept: 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.2Accept-Encoding: gzip, deflateConnection: closePriority: u=0

返回包,成功返回京东的页面信息,说明请求成功。

通过请求包向内网IP发起请求:10.182.0.100,确定了内网网段,下一步搜集内网主机

,由于file、dict、gopher协议无法利用,使用http/s构造如下:

GET /xxx/interface/memcache.php?url=http%3A%2F%2F10.182.0.§100§%2F HTTP/1.1User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0Accept: 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.2Accept-Encoding: gzip, deflateConnection: closePriority: u=0

创建字典,遍历结果:

搜集到的内网存活主机:

url=http%3A%2F%2F10.182.0.163%2Fhttp%3A%2F%2F10.182.0.200%2Fhttp%3A%2F%2F10.182.0.159%2Fhttp%3A%2F%2F10.182.0.149%2Fhttp%3A%2F%2F10.182.0.150%2Fhttp%3A%2F%2F10.182.0.151%2Fhttp%3A%2F%2F10.182.0.152%2Fhttp%3A%2F%2F10.182.0.153%2Fhttp%3A%2F%2F10.182.0.154%2Fhttp%3A%2F%2F10.182.0.156%2Fhttp%3A%2F%2F10.182.0.157%2F(识别出jeecms)http%3A%2F%2F10.182.0.208%2Fhttp%3A%2F%2F10.182.0.210%2Fhttp%3A%2F%2F10.182.0.171%2Fhttp%3A%2F%2F10.182.0.11%2Fhttp%3A%2F%2F10.182.0.12%2Fhttp%3A%2F%2F10.182.0.13%2Fhttp%3A%2F%2F10.182.0.20%2F

使用ssrf,然后http协议查看内网站点,发现请求成功,该ssrf可以回显访问内网任意站点信息。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/25 12:38:25

深入解析Claude Code:从LLM原理到代码生成实战

在探索AI辅助编程工具时,我们常常惊叹于它们生成代码的流畅度,但对其内部运作机制却知之甚少。当项目需要集成或深度定制这类工具时,这种“黑盒”状态会带来诸多困扰,比如无法理解其决策依据、难以排查生成代码的特定错误&#xf…

作者头像 李华
网站建设 2026/8/25 12:36:17

57. 【Java】日志框架:SLF4J与Logback

摘要: 本文系统介绍Java日志框架SLF4JLogback的核心概念与实战应用。从日志框架的必要性出发,对比System.out.println()的局限性,详细讲解SLF4J门面模式的优势、Logback配置方法、日志级别控制、文件输出策略以及异步日志优化。通过完整示例演…

作者头像 李华
网站建设 2026/8/25 12:35:57

windows 驱动实例分析系列: wireguard-nt驱动分析-api篇(二)

WireGuard-NT API 模块分析 - 第二部分:配置管理、网络接口与日志系统 1. 配置管理 配置管理是 WireGuard 控制平面的核心功能,负责将用户配置(接口密钥、对等点、允许 IP 等)转换为驱动内部数据结构,并支持从驱动查询…

作者头像 李华
网站建设 2026/8/25 12:30:28

智能送水系统:从传统到现代的数字化转型

1. 引言 在现代城市生活中,送水服务已成为许多家庭和企业的日常需求。从传统的电话预约、人工配送,到如今的智能调度、在线下单,送水系统正在经历一场深刻的数字化转型。本文将深入探讨送水系统的演变历程、核心技术架构、实现方案以及未来发…

作者头像 李华
网站建设 2026/8/25 12:25:49

大厂 MCP 面试实录:Tool 调用身份认证、授权与最小权限落地实践

大厂 MCP 面试实录:Tool 调用身份认证、授权与最小权限落地实践 本文采用模拟面试复盘形式,围绕「为 MCP Tool 调用增加身份认证、授权与最小权限管控」的业务场景,由浅入深考察候选人对 MCP 安全边界、传输机制、权限设计及工程落地的掌握程…

作者头像 李华
网站建设 2026/8/25 12:25:36

Linux CPUFreq DVFS OPP 超详细解析:P-State调频架构、调速器对比、内核流程、原理图+实操命令

系列前置回顾 本专栏前三篇已完成底层闭环基础: CPU架构+三级缓存:硬件性能上限基础 CPUIdle C-State:解决CPU空闲待机功耗 Thermal 热管理:解决高温降频与硬件保护 但有一个核心缺口一直没补: CPU在工作状态(C0态)时,如何动态调频率、调电压,实现性能和功耗平衡? 答…

作者头像 李华