Table des matières
3. Brève description de la vulnérabilité
4. Construisez un champ de tir
5. Récurrence de la vulnérabilité
1. Origines
Récemment, de nombreux médias étrangers ont annoncé la nouvelle de l'incident de fuite de code multi-source, impliquant la plate-forme d'audit de code SonarQube de nombreuses institutions et entreprises en Chine. La chronologie de l'incident est la suivante : Internet a signalé que la vulnérabilité de la plate-forme SonarQube avait été exploitée, et un grand nombre de codes sources ont été divulgués - OSCHINA - Chinese Open Source Technology Exchange La communauté peut aller voir par elle-même
2. Comprendre SonarQube
SonarQube est une plate-forme d'audit de gestion et d'analyse de la qualité du code open source qui prend en charge la gestion de la qualité du code de plus de 20 langages de programmation, notamment Java, C#, C/C++, PL/SQL, Cobol, JavaScript, Groovy, etc. , Erreurs de programme, les spécifications d'écriture, les vulnérabilités de sécurité et d'autres problèmes sont détectés, et les résultats sont présentés via l'interface Web de SonarQube.
La version SonarQube concernée est <8.6
3. Brève description de la vulnérabilité
Cette vulnérabilité est un accès non autorisé causé par une configuration incorrecte. Les attaquants peuvent utiliser cette vulnérabilité pour accéder à l'interface api/paramètres/valeurs sans autorisation afin d'obtenir des informations d'identification SMTP, SVN, GitLab et obtenir d'autres informations sensibles sur le code et les données. .
4. Construisez un champ de tir
Ici j'utilise l'image docker, téléchargez d'abord la version sonarqube8.3.1-developer
docker pull sonarqube:8.3.1-developer
Créez un conteneur et exécutez sonarqube, définissez le port
docker run -d -p 9000:9000 -p 9092:9092 sonarqube
Afficher les conteneurs en cours d'exécution
docker ps
5. Récurrence de la vulnérabilité
Il est accessible directement dans le navigateur.
Lorsque nous visitons le navigateur en tant que http://192.168.3.1388:9000/api/settings/values , nous pouvons obtenir directement des informations sensibles
Il existe une autre fuite d'informations d'interface dans le système : lorsque nous accédons au navigateur en tant que http://192.168.3.138:9000/api/webservices/list , nous pouvons voir la fuite d'informations.
Le prochain article est un script de détection pour CVE-2020-27986 (fuite d'informations sensibles SonarQube) que j'ai écrit en python. Si vous êtes intéressé, vous pouvez jeter un œil à CSDN