Access control vulnerabilities
不受保护的管理功能
/robots.txt |
/administrator-panel |
具有不可预测的 URL 的未受保护的管理功能
/admin-xr02aw |
由请求参数控制的用户角色
修改 cookie
可以在用户配置文件中修改用户角色
在更新邮件的时候发现一个 roleid 我们尝试添加这个值
发现可行
请求参数控制用户ID
/my-account?id=carlos |
请求参数控制用户ID,用户ID不可预测
可以看到 存在一个 id字段
尝试寻找carlos 的id
/my-account?id=f6027e85-b038-48a5-8b12-5487c871fdf8 |
用户ID受请求参数控制,重定向时数据泄露
/my-account?id=carlos |
访问时会发生302重定向
但是访问的页面确实 carlos的页面
由请求参数控制的用户 ID,密码泄露
/my-account?id=wiener |
/my-account?id=administrator |
发现填充的 passwd
用得到的密码登录
不安全的直接对象引用
发现可以进行聊天
发现别人的聊天记录
可以规避基于 URL 的访问控制
在请求头中添加 X-Original-URL 这个字段的作用是用于存储原始的请求 URL . 代理服务器可以通过使用X-Original-URL来存储客户端发出的原始URL,以便于在转发请求时使用
X-Original-URL: /admin |
/?username=carlos |
可以规避基于方法的访问控制
我们可以先登录 adminstrator的账号来看看 页面是什么样的
这里存在升级用户权限 和 降级用户权限
尝试使用非管理员的cookie去改权限
发现未认证
尝试更改请求协议
POSTX |
尝试更改请求方法发现成功
多步流程,一步无访问控制
升级权限总共有两步
session=iaGCLZARlHF62YfP1YfZNAplCbvSXWyB |
尝试以普通用户身份来提升权限
第一步存在权限认证 第二步没有
基于引用的访问控制
这里尝试更改非管理员cookie
/admin-roles?username=wiener&action=upgrade |
添加Referer 可以成功
评论
ValineDisqus