### 漏洞概述 - **漏洞类型**:潜在的内部对象ID(IDOR)漏洞 - **描述**:在 `dojosurvey/views.py` 中,`updated_answer_questionnaire` 视图允许匿名访问,即使启用了 `anonymous_survey_response` 设置。这可能导致未授权用户猜测参与调查的ID,从而访问其他用户的调查数据。 ### 影响范围 - **受影响文件**:`dojosurvey/views.py` - **具体位置**:`updated_answer_questionnaire` 视图 - **潜在风险**:未授权用户可以访问其他用户的调查数据,导致数据泄露。 ### 修复方案 - **建议措施**:确保 `updated_answer_questionnaire` 视图仅在用户已认证的情况下允许访问,即使启用了 `anonymous_survey_response` 设置。 - **具体步骤**: 1. 检查 `updated_answer_questionnaire` 视图的代码。 2. 添加用户认证检查,确保只有已认证的用户才能访问该视图。 3. 测试修复后的代码,确保匿名访问被正确阻止。 ### POC代码 ```python # dojosurvey/views.py def updated_answer_questionnaire(request, id): # 当前代码可能存在漏洞 pass ``` ### 其他信息 - **Pull Request**:[Refactor get_object_or_404 calls for Engagement and Engagement_Presets #14375](https://github.com/DefectDojo/django-DefectDojo/pull/14375) - **评论者**:dryrunsecurity - **评论时间**:2023年2月25日 ### 总结 该漏洞涉及 `dojosurvey/views.py` 中的 `updated_answer_questionnaire` 视图,允许匿名访问,可能导致未授权用户访问其他用户的调查数据。建议添加用户认证检查以修复此漏洞。