6876h9/picoctf-gradebook-cookie-writeup

GitHub: 6876h9/picoctf-gradebook-cookie-writeup

picoCTF在线成绩册Cookie操纵漏洞分析

Stars: 0 | Forks: 0

# picoCTF - 在线成绩册Cookie操纵Writeup ## 挑战概述 这个挑战提供了一个简单的成绩册应用程序,其中有一个“继续作为访客”按钮。 以访客身份进入后,应用程序会响应: 这立即表明应用程序正在根据客户端状态做出授权决定。 ## 目标 获取管理员访问权限并检索标志。 ## 初始侦察 主页包含一个允许用户继续作为访客的按钮。 ### 观察 应用程序在无需登录表单的情况下区分访客和管理员用户。 这是一个强烈的迹象表明一个cookie可能正在控制授权。 ## Cookie分析 使用Chrome DevTools: 1. 打开开发者工具(`F12`) 2. 导航到: 应用程序 → 存储 → Cookies 发现一个名为: ``` isAdmin ``` 的cookie。 值: ``` 0 ``` 这表明: ``` 0 = Guest 1 = Administrator ``` ## 利用 应用程序信任客户端控制的cookie。 修改: ``` isAdmin=0 ``` 为: ``` isAdmin=1 ``` 刷新页面。 服务器错误地接受修改后的cookie并授予管理员权限。 ## 标志 ``` picoCTF{gr4d3_A_c00k13_65fd1e1a} ``` ## 安全问题 ### 漏洞类别 Cookie操纵 / 破坏访问控制 ### 根本原因 应用程序依赖于用户控制的cookie来确定授权级别。 因为cookie既未在服务器端签名也未进行验证,攻击者可以修改其值并提升权限。 ### 安全设计 而不是: ``` isAdmin=1 ``` 服务器应该: - 在服务器端存储授权信息 - 使用签名会话令牌 - 在每个请求上验证权限 ## 截图 ### 登录页面 ![登录页面](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/e181b47f76181358.png) ### 修改Cookie ![修改Cookie](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/2989591f7c181400.png) ### 检索标志 ![标志](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/acb0084ca8181403.png) ## 学习成果 - 浏览器cookie检查 - 客户端状态分析 - 认证绕过技术 - 破坏访问控制识别 - 基本网络利用方法 ## 参考 几个公开的writeup描述了在picoCTF挑战中通过将`isAdmin`cookie从`0`更改为`1`以获得管理员访问权限的相同技术。