找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

2912

积分

0

好友

437

主题
发表于 4 小时前 | 查看: 4| 回复: 0

前几天,老师在内部群里发消息,说新课程准备开了,想收集一些学员的实战产出作为宣传素材。

我翻看自己最近提交的报告列表,心里有点打鼓:

  • 短信轰炸
  • 接口文档泄露
  • 验证码泄露登录

这些听起来是不是太“基础”了?发出去会不会被圈内大佬吐槽?抱着“反正也不会被选上”的摆烂心态,我还是把最近挖到的几个漏洞案例整理了一下发给了老师。结果师傅很快回复了一句:“就要这个”。

我当时的反应是:啊?这真的可以吗?

我的洞到底有多“朴实无华”

① 短信轰炸(700赏金)

在测试一个系统时,我抓取到了发送验证码的请求接口:

GET /xxx?phone=手机号

观察发现,这个请求参数极其简单,只有一个 phone。于是我尝试了一个最朴素的操作:直接重放请求

测试结果让人意外:

  • 无频率限制:可以连续发送。
  • 无图形验证码:无需交互验证。
  • 无其他校验:如Token、签名等。

这意味着,攻击者可以针对同一个手机号无限次触发短信发送,造成短信轰炸攻击。

测试时抓取到的验证码请求界面

通过重放请求实现的短信轰炸效果

提交时我甚至有点心虚,心想“这么简单不会不算漏洞吧?”。结果审核很快通过,评级为高危,拿到了700元赏金。这让我意识到,很多内部或初创项目在安全基线控制上确实存在疏忽,而这些疏忽正是我们的机会。

一句话总结:内部项目,真香。

② 接口文档泄露(350 + 350 赏金)

这个漏洞的发现过程更加“日常”。在对目标进行渗透测试信息收集时,我习惯性地尝试访问了一些常见的管理和调试接口路径:

/swagger-ui.html
/swagger-resources

没想到,两个路径在生产环境下都能直接访问。

/swagger-ui.html 路径直接返回了完整的 Swagger API 调试界面。
Swagger UI 接口文档页面

/swagger-resources 路径则泄露了API模块的结构列表。
Swagger Resources 接口列表信息

这意味着所有接口的地址、参数、甚至部分逻辑都暴露无遗,极大降低了攻击者的攻击成本。我将这两个问题作为两个独立的漏洞提交,每个都获得了350元赏金。

当时的内心独白是:“不会吧,这也给钱?” 但我逐渐开始接受一个事实:很多漏洞不是技术上有多难,而是缺乏被发现和重视。

③ 验证码在返回包中泄露 → 任意登录(500赏金)

这个漏洞的利用可以说“有手就行”。在测试用户登录流程时,我抓包发现,在请求短信验证码后,服务器的返回包中直接包含了本次下发的验证码明文,且与用户手机实际收到的完全一致。

利用流程变得极其简单:

  1. 请求验证码:触发系统向目标手机号发送短信。
  2. 拦截返回包:在请求的响应中直接获取验证码。
  3. 使用验证码登录:完成账号接管。

返回包中直接泄露验证码的抓包截图

利用泄露的验证码成功登录系统

我在提交报告时写得很谦虚:“返回包泄露验证码导致账号可接管”。结果依然被评定为高危漏洞。这再次证明了,基础的安全编码规范(如验证码不落地)在实际开发中常常被忽略。

④ 加解密漏洞导致的任意用户登录(800赏金)

这个漏洞比前三个需要多一步操作,但也完全在脚本小子的能力范围内,全程依靠现成的加解密工具。

利用步骤:

  1. 获取SessionKey:用户点击“快捷登录”(如微信授权)时,抓包发现返回包中泄露了关键的 session_key
    返回包中泄露session_key
  2. 获取加密数据:在后续的绑定或登录请求中,抓取到包含用户手机号的加密数据 (encryptedData) 和初始向量 (iv)。
    请求包中的encryptedData和iv参数
  3. 解密数据:使用工具,输入获取到的 session_keyencryptedDataiv,对加密数据进行解密,得到明文的用户信息(包含手机号)。
    使用工具解密获取明文手机号
  4. 篡改并重新加密:在解密得到的明文中,将手机号修改为任意目标手机号,然后使用相同的 session_keyiv 重新加密,生成新的 encryptedData
    修改手机号后重新加密
  5. 替换数据包发起请求:将原请求中的 encryptedData 替换为篡改后加密的数据,重放请求。(注意:需要在一定时间内操作,因为 session_key 可能过期)。
    替换加密数据后重放请求包
  6. 登录成功:系统错误地将我们篡改后的手机号识别为已登录用户,成功接管账号。
    成功登录任意用户账号

这个漏洞的根源在于服务端完全信任客户端上传的加密数据,且未与后台存储的原始Session进行强绑定校验。

反思:为什么我曾觉得这些漏洞“很水”?

在我以前的认知里,“厉害”的漏洞应该是这样的:

  • 复杂的逻辑链路串联
  • 需要多步精巧的绕过
  • 涉及未公开的0day利用

而我实际挖到的,大多是:

  • 接口忘了做频率校验
  • 敏感信息直接塞在返回包里
  • 测试接口忘记从生产环境关闭

说白了,很多都是“开发忘了关门”式的基础问题。当我向师傅表达“这些洞是不是太简单了”的疑虑时,师傅只反问了一句:“不给钱吗?

这句话让我瞬间释怀了。

实战后的真实感受

从一个零基础小白到能稳定产出漏洞,时间也就一个多月。我挖到的这些漏洞技术都不复杂,但对我个人而言意义重大:

  • 第一次能够持续、稳定地发现漏洞。
  • 第一次连续获得SRC平台的赏金。
  • 第一次漏洞挖掘这件事上拥有了强烈的“产出感”。

更重要的是,它彻底改变了我一个核心认知:漏洞的价值不在于它有多“高级”或“炫技”,而在于它是否真实存在并对业务构成威胁。 能换钱的漏洞,就是好漏洞。

我之前最大的障碍是一种“信息差”和“心理门槛”:总觉得漏洞必须得像电影里演的那样高端,导致自己“不敢测、不敢报、不敢试”。这次实战经历完全打破了这层顾虑。

所以,如果以后还有分享素材的需求,我还能贡献不少这样“朴实无华”的案例。毕竟事实已经证明:普通人靠扎实的基本功挖到的普通漏洞,恰恰是安全行业最真实、最普遍的产出现状。 对于刚入门的朋友,我的建议是:别想太多,从这些基础但高发的漏洞类型开始练手,你会更快地建立信心和正向反馈。在云栈社区的【安全/渗透/逆向】板块,你也能找到许多类似的实战思路和工具分享。




上一篇:本地部署Voicebox语音克隆:5秒音频复刻,支持多音轨编辑与中文TTS
下一篇:达梦8数据库升级详细步骤:数据守护集群环境实战指南
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-3-5 20:28 , Processed in 0.610302 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表