CVE-2021-46080
漏洞利用标题:Vehicle Service Management System - 多个跨站请求伪造(CSRF)导致存储型跨站脚本(XSS)
CVE:CVE-2021-46080
CVSS:4.8 中危
参考链接:
描述:
Vehicle Service Management System 1.0 中存在跨站请求伪造(CSRF)漏洞。一次成功的CSRF攻击会导致存储型跨站脚本漏洞。
1. Vehicle Service Management System - 'Mechanic List'(/admin/?page=mechanics)
漏洞利用步骤:
- 访问管理面板 http://localhost/vehicle_service/admin
- 创建两个管理员账户。
- 在浏览器 A(Chrome)中登录管理员 1 账户。
- 在浏览器 B(Firefox)中登录管理员 2 账户。
- 在管理员 1 账户(Chrome)中,导航到 Mechanic List 部分,点击 Create New 按钮。
- 在 Full Name 输入字段中注入以下 payload。
Payload:
"><script>alert(document.cookie)</script>
- 点击 Save 按钮。
- 在 Burp Suite 中捕获请求并生成 CSRF HTML 文件。
- 保存 CSRF HTML 文件,例如:CSRF.html
- 在浏览器 B(Firefox)中浏览 CSRF.html 文件。
- 在浏览器 B(Firefox)中导航到 Mechanic List 部分。
- 恶意 JavaScript 代码被触发。
2. Vehicle Service Management System - 'Service Requests'(/admin/?page=service_requests)
漏洞利用步骤:
- 访问管理面板 http://localhost/vehicle_service/admin
- 创建两个管理员账户。
- 在浏览器 A(Chrome)中登录管理员 1 账户。
- 在浏览器 B(Firefox)中登录管理员 2 账户。
- 在管理员 1 账户(Chrome)中,导航到 Service Requests 部分,点击 Create New 按钮。
- 在 Owner Contact 输入字段中注入以下 payload。
Payload:
"><script>alert(document.cookie)</script>
- 点击 Save Request 按钮。
- 在 Burp Suite 中捕获请求并生成 CSRF HTML 文件。
- 保存 CSRF HTML 文件,例如:CSRF.html
- 在浏览器 B(Firefox)中浏览 CSRF.html 文件。
- 在浏览器 B(Firefox)中导航到 Service Requests 部分。
- 选择新创建的 Service Requests,点击 Action 下的 View。
- 恶意 JavaScript 代码被触发。
3. Vehicle Service Management System - 'Category List'(/admin/?page=maintenance/category)
漏洞利用步骤:
- 访问管理面板 http://localhost/vehicle_service/admin
- 创建两个管理员账户。
- 在浏览器 A(Chrome)中登录管理员 1 账户。
- 在浏览器 B(Firefox)中登录管理员 2 账户。
- 在管理员 1 账户(Chrome)中,导航到 Category List 部分,点击 Create New 按钮。
- 在 Category Name 输入字段中注入以下 payload。
Payload:
"><script>alert(document.cookie)</script>
- 点击 Save 按钮。
- 在 Burp Suite 中捕获请求并生成 CSRF HTML 文件。
- 保存 CSRF HTML 文件,例如:CSRF.html
- 在浏览器 B(Firefox)中浏览 CSRF.html 文件。
- 在浏览器 B(Firefox)中导航到 Category List 部分。
- 恶意 JavaScript 代码被触发。
4. Vehicle Service Management System - 'Service List'(/admin/?page=maintenance/services)
漏洞利用步骤:
- 访问管理面板 http://localhost/vehicle_service/admin
- 创建两个管理员账户。
- 在浏览器 A(Chrome)中登录管理员 1 账户。
- 在浏览器 B(Firefox)中登录管理员 2 账户。
- 在管理员 1 账户(Chrome)中,导航到 Service List 部分,点击 Create New 按钮。
- 在 Service Name 输入字段中注入以下 payload。
Payload:
"><script>alert(document.cookie)</script>
- 点击 Save 按钮。
- 在 Burp Suite 中捕获请求并生成 CSRF HTML 文件。
- 保存 CSRF HTML 文件,例如:CSRF.html
- 在浏览器 B(Firefox)中浏览 CSRF.html 文件。
- 在浏览器 B(Firefox)中导航到 Service List 部分。
- 恶意 JavaScript 代码被触发。
5. Vehicle Service Management System - 'User List'(/admin/?page=user/list)
漏洞利用步骤:
- 访问管理面板 http://localhost/vehicle_service/admin
- 创建两个管理员账户。
- 在浏览器 A(Chrome)中登录管理员 1 账户。
- 在浏览器 B(Firefox)中登录管理员 2 账户。
- 在管理员 1 账户(Chrome)中,导航到 User List 部分,点击 Create New 按钮。
- 在 First Name 输入字段中注入以下 payload。
Payload:
"><script>alert(document.cookie)</script>
- 点击 Save 按钮。
- 在 Burp Suite 中捕获请求并生成 CSRF HTML 文件。
- 保存 CSRF HTML 文件,例如:CSRF.html
- 在浏览器 B(Firefox)中浏览 CSRF.html 文件。
- 在浏览器 B(Firefox)中导航到 User List 部分。
- 恶意 JavaScript 代码被触发。
6. Vehicle Service Management System - 'Settings'(/admin/?page=system_info)
漏洞利用步骤:
- 访问管理面板 http://localhost/vehicle_service/admin
- 创建两个管理员账户。
- 在浏览器 A(Chrome)中登录管理员 1 账户。
- 在浏览器 B(Firefox)中登录管理员 2 账户。
- 在管理员 1 账户(Chrome)中,导航到 Settings 部分。
- 在 System Name 输入字段中注入以下 payload。
Payload:
"><script>alert(document.cookie)</script>
- 点击 Update 按钮。
- 在 Burp Suite 中捕获请求并生成 CSRF HTML 文件。
- 保存 CSRF HTML 文件,例如:CSRF.html
- 在浏览器 B(Firefox)中浏览 CSRF.html 文件。
- 在浏览器 B(Firefox)中导航到 Settings 部分。
- 恶意 JavaScript 代码被触发。
影响:
多个端点存在跨站请求伪造漏洞,导致存储型跨站脚本漏洞。
缓解措施:
建议实施以下措施:
- 使用不可预测且高熵的令牌,与一般会话令牌类似。
- 令牌与用户会话绑定。
- 在执行相关操作前,严格验证每个情况下的令牌。