CVE-2021-46075
漏洞标题:Vehicle Service Management System - 多重权限提升导致CRUD操作
CVE编号:CVE-2021-46075
CVSS评分:7.2 高
参考链接:
漏洞描述:
Sourcecodester Vehicle Service Management System 1.0 存在权限提升漏洞。员工账户用户可以访问管理员资源并执行CRUD操作。
1. Vehicle Service Management System - '用户列表' (/admin/?page=user/list) (/admin/?page=user/manage_user)
利用步骤:
- 访问管理面板 http://localhost/vehicle_service/admin
- 在浏览器A(Chrome)中登录管理员账户
- 在浏览器B(Firefox)中登录员工账户
- 在管理员账户(Chrome)中导航至用户列表部分,点击"创建新用户"按钮
- 复制创建新用户的链接 http://localhost/vehicle_service/admin/?page=user/manage_user
- 在员工账户(Firefox)中没有用户列表部分,因为员工账户没有创建用户的权限
- 将复制的链接粘贴到浏览器B(Firefox)
- 现在我们可以访问创建用户页面
- 输入必要信息,点击保存按钮
- 在管理员账户(Chrome)中导航至用户列表部分 http://localhost/vehicle_service/admin/?page=user/list
- 新用户已成功创建
- 员工账户可以访问用户列表页面和创建用户页面
- 员工账户可以对用户执行创建、读取、更新和删除操作
2. Vehicle Service Management System - '类别列表' (/admin/?page=maintenance/category) (/admin/?page=maintenance/manage_category)
利用步骤:
- 访问管理面板 http://localhost/vehicle_service/admin
- 在浏览器A(Chrome)中登录管理员账户
- 在浏览器B(Firefox)中登录员工账户
- 在管理员账户(Chrome)中导航至类别列表部分,点击"创建新类别"按钮
- 复制创建新类别的链接 http://localhost/vehicle_service/admin/?page=maintenance/manage_category
- 在员工账户(Firefox)中没有类别列表部分,因为员工账户没有创建类别的权限
- 将复制的链接粘贴到浏览器B(Firefox)
- 现在我们可以访问创建类别页面
- 输入必要信息,点击保存按钮
- 在管理员账户(Chrome)中导航至类别列表部分 http://localhost/vehicle_service/admin/?page=maintenance/category
- 新类别已成功创建
- 员工账户可以访问类别列表页面和创建类别页面
- 员工账户可以对类别执行创建、读取、更新和删除操作
3. Vehicle Service Management System - '服务列表' (/admin/?page=maintenance/services) (/admin/?page=maintenance/manage_service)
利用步骤:
- 访问管理面板 http://localhost/vehicle_service/admin
- 在浏览器A(Chrome)中登录管理员账户
- 在浏览器B(Firefox)中登录员工账户
- 在管理员账户(Chrome)中导航至服务列表部分,点击"创建新服务"按钮
- 复制创建新服务的链接 http://localhost/vehicle_service/admin/?page=maintenance/manage_service
- 在员工账户(Firefox)中没有服务列表部分,因为员工账户没有创建服务的权限
- 将复制的链接粘贴到浏览器B(Firefox)
- 现在我们可以访问创建服务页面
- 输入必要信息,点击保存按钮
- 在管理员账户(Chrome)中导航至服务列表部分 http://localhost/vehicle_service/admin/?page=maintenance/services
- 新服务已成功创建
- 员工账户可以访问服务列表页面和创建服务页面
- 员工账户可以对服务执行创建、读取、更新和删除操作
4. Vehicle Service Management System - '设置' (/admin/?page=system_info)
利用步骤:
- 访问管理面板 http://localhost/vehicle_service/admin
- 在浏览器A(Chrome)中登录管理员账户
- 在浏览器B(Firefox)中登录员工账户
- 在管理员账户(Chrome)中导航至设置部分
- 复制设置部分的链接 http://localhost/vehicle_service/admin/?page=system_info
- 在员工账户(Firefox)中没有设置部分,因为员工账户没有访问设置的权限
- 将复制的链接粘贴到浏览器B(Firefox)
- 现在我们可以访问设置页面
- 输入必要信息,点击保存按钮
- 在管理员账户(Chrome)中导航至设置部分 http://localhost/vehicle_service/admin/?page=system_info
- 信息已成功更新
- 员工账户可以访问设置页面
- 员工账户可以更新设置
影响:
远程攻击者能够获得通常不可用的高级资源访问权限。员工账户用户可以访问管理员资源并执行CRUD操作。
缓解措施:
建议实施以下措施:
- 适当的权限账户管理
- 监控并管理所有特权会话
- 强密码策略及执行
- 对用户输入进行清洗并保护数据库安全