User ID controlled by request parameter, with unpredictable user IDs -Burp 复现

User ID controlled by request parameter, with unpredictable user IDs -Burp 复现

实验信息

  • 平台:PortSwigger Web Security Academy

  • 漏洞:Access Control

  • Lab: User ID controlled by request parameter, with unpredictable user IDs

  • 难度:Apprentice

漏洞原理

该场景属于Broken Access Control (访问控制失效) ,原理是基于请求参数的 ID 可控 + 敏感用户 ID 前端泄露的Horizontal privilege escalation(越权访问)漏洞。核心原因是网站用户 ID 采用 GUIDs,本意防止攻击者暴力猜测 ID;但应用在博客、评论、留言等前端展示位置,直接明文暴露了其他用户的唯一身份 ID。攻击者无需猜解 ID,只需在页面抓取目标用户(Carlos)的公开 GUID,直接替换请求内的用户 ID 参数,服务端未做二次身份鉴权,最终导致横向越权,直接读取他人私密信息、API 数据。

测试过程

Lab 5:

  1. 先看原文

"In some applications, the exploitable parameter does not have a predictable value. For example, instead of an incrementing number, an application might use globally unique identifiers (GUIDs) to identify users. This may prevent an attacker from guessing or predicting another user's identifier. However, the GUIDs belonging to other users might be disclosed elsewhere in the application where users are referenced, such as user messages or reviews ." 也就是说我们可以通过页面的Blog 或者评论找到目标对象Carlos,找到Carlos的发的blog,他的身份信息userId直接被展示在fronted页面

2.将他的id URL放进request,成功登录并找到API

  1. 提交API, lab solved!

利用Payload

仅需要手动修改id参数,其余步骤直接放进Repeater并在Response页面查找对应API即可

个人总结

  • 第一, 如何利用这个漏洞?

其他用户的个人信息直接被展示在前端,甚至可以绕过密码的校验就能直接登录获取API

  • 第二,为什么会产生这个漏洞?

将敏感信息暴露在前端,破坏Confidential。在lab2里面直接将admin panel的放在JavaScript中,直接绕过登录一样,都是属于Access Control的漏洞

  • 第三,如何修复这个漏洞?

后端严格校验当前登录用户与请求 ID 的一致性,杜绝Horizontal privilege escalation;

禁止在博客、评论、公开页面泄露用户唯一私密 ID、GUID 等核心身份标识;

所有读取个人私密数据的接口,必须依托后端会话鉴权,不信任前端传入的用户 ID 参数

相关推荐
KaMeidebaby17 分钟前
卡梅德生物技术快报|细胞周期检测抗原流式分析:参数调试、软件拟合与问题排查
网络·人工智能·python·网络协议·tcp/ip·算法·机器学习
梁辰兴17 分钟前
计算机网络基础:邮件读取协议 POP3和IMAP
网络·计算机网络·imap·pop3·计算机网络基础·梁辰兴·邮件读取协议
艾莉丝努力练剑20 分钟前
【QT】界面优化:QSS
linux·运维·开发语言·网络·qt·计算机网络·udp
Irissgwe21 分钟前
7、传输层协议 TCP
网络·网络协议·tcp/ip·tcp·三次握手·四次挥手
林爷万福21 分钟前
水质监测新趋势:在线光谱仪实时守护碧水蓝天
网络·光纤光谱仪
j7~29 分钟前
【Linux】网络基础(1)--之局域网、广域网、OSI,网络协议、TCP/IP结构模型、网络传输等知识详解
网络·网络协议·tcp/ip·协议·osi·mac地址·报头
xxlyss&w32 分钟前
Tenda AC9 V15.03.05.19(6318)_CN FUN_000384c8 — HTTP CGI 命令注入
网络·网络协议·http
paul_chen2139 分钟前
CentOS 8 LVM 在线扩容根分区:从 home 安全割让空间(XFS 文件系统)
linux·安全·centos
酉鬼女又兒1 小时前
零基础入门计算机网络:MAC地址、IP地址与ARP协议全面解析(含考研真题详解)
网络·网络协议·tcp/ip·计算机网络·考研·macos·职场和发展
憧憬成为java架构高手的小白1 小时前
计算机网络管理技术复习(一版)
网络·计算机网络