
Proof of Concept di una XSS Stored in SCM Manager 1.2 <= 1.60
È stata scoperta una vulnerabilità nelle versioni di SCM Manager 1.2 <= 1.60 che consente a un attaccante precedentemente autenticato con permessi di scrittura di eseguire codice JavaScript in campi specifici.
Questa Proof of Concept è stata realizzata in un ambiente locale distribuendo un SCM Manager 1.60 tramite docker.
1 - Git clone the repository
2 - Make sure that you are into the repository
3 - pip3 install -r requirements.txt
4 - python3 CVE-2023-33829.py -h
Copia e incolla questo script bash in un file script.sh, concedi i permessi di esecuzione ed esegui il file:
#!/bin/bash
mkdir /var/lib/scm
chown 1000:1000 /var/lib/scm
docker run -v /var/lib/scm:/var/lib/scm -p 8080:8080 sdorra/scm-manager
Lo script è stato creato da sdorra, ecco il link ufficiale: https://bitbucket.org/sdorra/docker-scm-manager/src/master/
NOTA: è necessario aver installato docker in precedenza.
Una volta installato SCM Manager 1.60, ti verranno richiesti un nome utente e una password:
Nome utente : scmadmin Password: scmadmin
Prova di concetto:

2- Crea un nuovo repository di qualsiasi tipo, ma il campo Description è quello vulnerabile, quindi iniettiamo il payload e verrà attivato:

3- Crea un nuovo utente e il campo vulnerabile specifico è Display Name, quindi inietta il payload introdotto in precedenza:

4- Crea un nuovo gruppo e il campo vulnerabile specifico è Description, quindi inietta il nostro payload:

PAYLOAD UTILIZZATO:
Le nuove versioni di SCM Manager sono state corrette.