账户删除绕过漏洞
原创
游山玩水
游山玩水
山水SRC
2026年10月6日 09:10
河南
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
免责声明
本公众号分享的所有渗透测试技术文章仅面向合法授权的安全测试、学习交流与研究用途。读者必须确保自身行为符合《网络安全法》等相关法律法规,严禁将其用于任何未授权攻击等非法活动。因不当使用或传播相关内容所引发的任何法律责任与风险,由行为人自行承担,本公众号(或本人)概不负责
前提
技术性描述
- 删除用户时依靠用户名或邮箱来匹配目标账号,而非使用系统内部不可变的用户唯一ID。
- 删除流程会对输入的用户名或邮箱进行编码、转义或参数化处理,且处理后的值与数据库中存储的原始特殊字符值不一致。例如数据库存储 user
@example.com,查询时却传入 user%3Ch1%[email protected] 或经过HTML转义后的字符串。
- 删除逻辑采用精确字符串匹配,且未对输入值与存储值进行统一的解码或规范化处理,导致匹配记录为空;但此时系统仍按删除成功处理或未阻断流程,最终原账号仍可访问。
通俗易懂
- 系统删除用户时,靠“用户名”或“邮箱”来找到这个人,而不是靠每个人唯一的内部编号(就像身份证号)。一旦用户名或邮箱比较特殊,系统就容易认错人或者找不到人。
- 系统在查找用户时,会先把输入的用户名或邮箱“加工”一下,比如把特殊符号转成安全格式。但数据库里存的是原始字符,两边对不上。
- 对不上之后,系统没有报错,也没有提示“删除失败”,而是像什么都没发生一样继续往下走,假装已经删掉了。但实际上这个账号还好好地在数据库里,依然能登录、能访问。
简单说就是:用一个会被加工的名字去数据库里找本人,结果找不着,系统却不吭声,假装删了,其实人还活着。
测试流程
- 准备组管理员账号A和测试组G,在组内创建特殊用户B,用户名设为包含转义字符的格式(如victim转义script),或邮箱设为包含转义字符的格式(如user转义[email protected]),确认B可正常登录并属于G组。
- 用管理员A在成员列表或接口处,按B的用户名或邮箱发起删除操作。
- 抓包或查看请求,确认发送时特殊字符被URL编码或HTML转义,而数据库里存的是原始特殊字符,二者不一致。
- 观察删除结果:若系统提示删除成功,但刷新后B仍在列表、数据库记录未删除,且B仍可登录访问组内资源,即确认漏洞存在。
- 作为对照,改用B的内部用户ID删除,若能正常删除,则进一步验证问题出在“按用户名或邮箱匹配加编码不一致”上。
危害
- 账号无法彻底清除:恶意用户通过构造特殊用户名或邮箱,使管理员执行删除时匹配不到记录,系统却提示删除成功,实际账号仍存在于数据库中,可继续登录和使用系统。
- 形成隐藏后门:被“假删除”的账号长期保留在系统中,且不易被管理员察觉,可能被利用持续窃取数据、发布恶意内容或维持非授权权限。
- 安全封禁被绕过:当安全团队发现异常,需要通过删除来封禁或清理账号时,因删除逻辑缺陷无法生效,导致封禁措施形同虚设,威胁持续存在。
- 审计与合规风险:删除操作记录显示成功,但实际数据未被删除,造成审计日志与真实状态不一致,影响安全审计、数据合规,以及用户注销账号的权利保障。
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论