User ID controlled by request parameter with password disclosure-Burp 复现

User ID controlled by request parameter with password disclosure-Burp 复现

实验信息

  • 平台:PortSwigger Web Security Academy

  • 漏洞:Access Control

  • Lab: User ID controlled by request parameter with password disclosure

  • 难度:Apprentice

漏洞原理

该场景属于Broken Access Control (访问控制失效) ,原理是 Horizontal to vertical privilege escalation(越权访问)漏洞。核心原因是服务器端未对请求参数中的用户标识(User ID)进行严格的权限校验,仅通过前端传入的id参数判断用户身份,未验证当前登录用户是否有权限访问该id对应的资源。同时,系统将敏感信息(如管理员密码)直接嵌入前端页面代码中,未做任何加密或隐藏处理,导致普通用户可通过修改id参数,越权访问管理员账户信息,并获取明文密码,进而实现从普通用户到管理员的权限提升,最终破坏系统的机密性(Confidentiality)和完整性(Integrity)

Lab 6:

  1. 在登录成功后直接进行越权将id改为administrator,可以看到status code is 200 ok

  2. 在Response的frontend窗口可以看见敏感信息,包括admin panel的URL以及administrator password

  1. 既然retrieve the URL /admin,试着能否直接进入控制面板破坏Integrity,发现这里是做了防护措施
  1. 不过可以通过administrator password进行登录,这时可以Get /admin 进入控制面板将用户Carlos删掉

5.lab solved!

利用Payload

复制代码
 Get /myaccount?id=administrator

将个人id改成管理员身份

复制代码
 Get /admin

访问admin panel

这些都在之前的lab中得到充分的练习

个人总结

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

普通用户身份可以直接修改URL并通过前端页面获取管理员身份信息,越权访问并修改内部文件

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

没有进行用户身份校验;把个人密码敏感信息直接prefilled in input box, 前端页面可以直接查看

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

登录的用户身份校验authentication是必不可少的;密码不能明文暴露在前端。

至此,Access control类型的基础lab solved,可以发现很多的漏洞都是直接把个人信息放到前端,那么这不能保证Confidential,这些lab完成的条件都是将Carlos删除,Integrity也不能保障,administrator作为最高权限用户,在这些lab中身份验证的缺失就是导vulnerability的关键。

相关推荐
一遍再一遍7 分钟前
【LTE Attach流程】
网络
星夜夏空9910 分钟前
网络编程(5)—— Reactor实现(v3)
服务器·网络·php
枫叶丹421 分钟前
从一次推理请求出发:模型、显存、网络与服务系统如何共同决定性能
网络·人工智能·chatgpt·开源·agent·codex
花青泽24 分钟前
第2章_阶段1_准备
web安全
杭州领祺科技39 分钟前
27 号令横向隔离落地清单:储能边缘计算网关 ≠ 电力专用网闸,算电协同中心安全分区/纵向加密/SPDnet 怎么配
人工智能·安全·网络安全·边缘计算·储能·电力·电力监控
恒拓高科WorkPlus1 小时前
制造企业出现生产异常后,如何通过IM快速通知责任人?
网络·制造
jimmyleeee2 小时前
大模型安全之四十:纵深防御----AI安全没有银弹
人工智能·安全
花青泽3 小时前
子域名基础05_Web与网络层
web安全
熊文豪3 小时前
KingbaseES 数据加密全解:从 SSL 到全密态
网络·网络协议·ssl