业务逻辑缺陷:同时Archive&Trash,消息瞬间隐身+委托滥用

admin 2026-03-03 09:04:39 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文剖析某安全通信平台的业务逻辑漏洞。测试者发现同时设置消息的存档与回收站状态会导致消息在界面消失。单独利用危害有限,但结合委托功能,攻击者可滥用受信权限向受害者隐藏恶意消息,破坏平台信任。文章强调深入理解业务逻辑是挖掘高价值漏洞的关键,并提供了详细的复现步骤。 综合评分: 87 文章分类: 漏洞分析,渗透测试,WEB安全,实战经验


cover_image

业务逻辑缺陷:同时 Archive & Trash,消息瞬间隐身 + 委托滥用

原创

Pwn1 Pwn1

漏洞集萃

2026年2月16日 07:36 河南

免责声明 本公众号所发布的文章内容仅供学习与交流使用,禁止用于任何非法用途。

来源:

https://medium.com/@moatymohamed897/business-logic-flaw-allows-delegated-users-to-hide-messages-using-archive-trash-states-1acd5d1227bd

理解这个应用

平时做测试的时候,一般都会先真的去搞明白这个应用到底是干嘛的,它里面那些功能是怎么跑起来的。

这一步其实挺重要的,但说实话,很多刚入行的新人都会直接跳过。

结果呢?

要么花一大堆时间在没意义的地方转圈,

要么压根没抓住真正能打出高影响的点,

要么交上去一堆别人早就报过的重复问题。

这次碰到的这个应用,是一个安全通信平台

简单说,它就是让大家能在比较受保护的环境里发消息、聊一些私密的事情。

它的整个生意、整个核心价值,其实就建立在信任、保密、消息能被正常看到这几件事上。

所以但凡消息处理这里出一点问题,都很容易直接影响到用户对平台的信任,影响还是挺实际的。

所以我当时没有急着去找漏洞,而是跟平时一样,先老老实实花时间到处点一点、看一看,搞清楚它的消息系统到底是怎么一回事。


先把正常行为搞明白

我先自己试了试消息在不同地方是怎么流的。

比如说:

  • 如果我把 archive 设成 true,消息就会跑到存档里去
  • 如果我把 trash 设成 true,消息就会被扔到回收站
  • 如果这两个都是 false,那消息就正常待在收件箱

然后我试了好几次,一切都挺正常的,跟预期完全一样。


然后我突然好奇了一件事

后来我脑子里冒出来一个挺简单、但其实还挺关键的问题:

如果我把一条消息同时又存档、又删掉,会怎么样?

从逻辑上想,大概就两种可能吧:

  1. 要么它同时出现在存档和回收站这两个地方
  2. 要么系统根本就不允许你这么干,直接报错或者禁止

于是我就试着同时把两个都打开:

archive = true
trash   = true

然后就出事了

点完提交后,这条消息……直接从界面上彻底没了

  • 收件箱里找不到
  • 存档里找不到
  • 回收站里也找不到

完全消失了。

但是!

我后来又回去把其中一个状态改回来——比如把 trash 改成 false——

咦?消息又冒出来了,完好无损地回到它该在的地方。

也就是说,只要 archive=true 并且 trash=true同时成立,系统就好像进入了某种逻辑卡死的状态,把这条消息给“藏”起来了。

光看这个现象的话,好像也就是个界面显示问题嘛。

我当时心里还嘀咕:

“就算有人能偷偷把自己的消息藏起来,那又能怎么样呢?能搞出什么实际危害?”

真正严重的地方,是跟“委托”这个功能撞到一起之后

后来我继续挖下去,把这个行为跟平台另外一个很核心的功能——委托——放到一起看,突然就发现事情不对劲了。

这个平台是允许用户把自己的账户委托给另一个人的,比如助理啊、同事啊什么的。

被委托的那个人,可以完全像自己是账户主人一样去操作所有东西。

然后你把前面那个隐藏消息的玩法跟这个委托结合起来,就能干这样的事:

  • 先用受害者的身份登录
  • 把账户的完全控制权委托给攻击者
  • 攻击者用委托权限登录进来
  • 用受害者的账户发一条消息(或者挑一条已有的)
  • 立刻把这条消息同时标记成 archive=true + trash=true
  • 这条消息就从受害者能看到的所有地方全部消失
  • 而受害者根本不知道有这么一条消息被发出过,也不知道它被藏起来了

大概的复现过程是这样的

  1. 我先用受害者的账号登录(比如开一个 Chrome 标签页)
  2. 然后在这个账号里打开委托功能,把完全访问权限给了攻击者的账号
  3. 接着我换到攻击者的身份登录(比如再开一个 Firefox 标签页),通过委托权限进到受害者的账户
  4. 在受害者的账户里面,我发了一条新消息,或者随便挑了一条已有的消息
  5. 然后立刻把这条消息的两个状态都设成:
archive = true
trash   = true
  1. 再切回受害者自己的视角去看:
  • 收件箱 → 啥也没有
  • 存档 → 啥也没有
  • 回收站 → 还是啥也没有
  1. 如果攻击者这时候再把手伸回去,随便把其中一个状态改回 false(比如 trash=false),消息就又会重新出现
  2. 但受害者这边呢?从头到尾根本不知道有这么一件事发生过

结果就是

明明是“受信任的人”才能拿到的委托权限,却被这么悄无声息地滥用掉了。

整个平台的透明度用户信任,其实是被彻底破坏了。

觉得本文内容对您有启发或帮助? 点个关注➕,获取更多深度分析与前沿资讯!

👉 往期精选

注册功能漏洞检查清单

一种利用 HTTP 重定向循环的新型 SSRF 技术

API 渗透实战:从 JSON 响应倒推隐藏的高危路由

使用 Frida 在运行时拦截 OkHttp – 实用指南

一种利用 HTTP 重定向循环的新型 SSRF 技术


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:漏洞集萃 Pwn1 Pwn1《业务逻辑缺陷:同时 Archive & Trash,消息瞬间隐身 + 委托滥用》

评论:0   参与:  0