Portswigger 靶场之“访问控制漏洞”

Access control vulnerabilities

All labs | Web Security Academy (portswigger.net)

1. Unprotected admin functionality

不受保护的管理功能

没有限制的 admin 面板,进去删帐号robots.txt /administrator-panel

2. Unprotected admin functionality with unpredictable URL

具有不可预测的 URL 的未受保护的管理功能

Ctrl + U 打开页面源代码,通过 Ctrl + F 搜索admin字符并观察

3. User role controlled by request parameter

由请求参数控制的用户角色

这一关的要点在于修改 Cookie,登录帐号后会发现有一个 cookie 值是 Admin false ,改为true,再访问 /admin,就会发现删除界面

4. User role can be modified in user profile

可以在用户配置文件中修改用户角色

更新邮件的地方是 JSON 数据,可以往里面多塞一些东西,然后浏览 /admin 界面删除用户

5. User ID controlled by request parameter

由请求参数控制的用户 ID

登录账户后抓包继而发现存在参数 ?id=wiener,替代为 carlos 从而获取 carlos 用户的 API

6. User ID controlled by request parameter, with unpredictable user IDs

用户 ID 由请求参数控制,用户 ID 不可预测

从博客文章中找到 carlos,用 burp 拦截,复制 ID

登录账户,用 burp 将 carlos 的 ID 写入请求

![YunShu_Plugin_iQaiKrIj2v](Access control vulnerabilities (PortSwigger Writeup).assets/YunShu_Plugin_iQaiKrIj2v.png)

7. User ID controlled by request parameter with data leakage in redirect

用户 ID 由请求参数控制,重定向中存在数据泄漏

API KEYredirect(重定向) 的response(响应)中

8. User ID controlled by request parameter with password disclosure

用户 ID 由具有密码泄露的请求参数控制

修改 ID 后,F12 选到 Password 的地方,就可以看到密码

9. Insecure direct object references

不安全的直接对象引用

环顾四周,发现右上角有个Live chat,实时聊天室

和机器人对话并点击View transcript会把刚和机器人聊天的内容下载到一个txt文本文档中。

URL改为download-transcript/1.txt即可得到密码

10. URL-based access control can be circumvented

可以规避基于 URL 的访问控制

先访问 admin,失败,继而进行抓包,添加X-Original-URL: /invalid成功,后面如法炮制

11. Method-based access control can be circumvented

可以规避基于方法的访问控制

先登录管理员账户,升级 carlos 的同时抓包,发送到 Repeater

在隐私浏览器窗口,登录wiener:peter,将 Cookie 复制到 Repeater 中,并且右键单机Change request method将请求方法改为 GET,用户名参数由 Carlos 改为 wiener

12. Multi-step process with no access control on one step

多步骤过程,一步没有访问控制

登录 Admin 帐号和 wiener 帐号

wiener 帐号抓到 Cookie 值复制带到 Repeater 中……

13. PRACTITIONER

Referer-based access control

基于引用的访问控制

posted @ 2023-02-14 17:26  跛一一  阅读(347)  评论(0编辑  收藏  举报