- README, PROTOCOL, FINDINGS, endpoints, rapport et outils traduits en français - docs/DISCLOSURE.md : courriel prêt à envoyer à hello@boti.education (compte démo codé en dur, transmission en clair, logging de production) - extract_endpoints.py vérifié après traduction (100 points d'accès toujours extraits)
80 lines
3.1 KiB
Markdown
80 lines
3.1 KiB
Markdown
Destinataires (contacts publics du développeur sur le Google Play Store) :
|
|
- hello@boti.education (contact général)
|
|
- cs@boti.education (support)
|
|
|
|
---
|
|
|
|
## Objet
|
|
|
|
Divulgation responsable : identifiants intégrés dans l'application Greenwood
|
|
School (com.botieducation.greenwood 2.4.14)
|
|
|
|
## Corps du message
|
|
|
|
Bonjour,
|
|
|
|
Je suis parent d'élève à la Greenwood School (Casablanca) et j'utilise
|
|
l'application mobile Greenwood School, éditée par Boti Education.
|
|
|
|
En examinant la version 2.4.14 de l'application Android
|
|
(com.botieducation.greenwood), distribuée publiquement, j'ai identifié
|
|
plusieurs problèmes de sécurité. Tous proviennent d'une analyse statique de
|
|
l'APK. Je n'ai accédé qu'à mon propre compte parent, conformément à une
|
|
démarche de divulgation responsable.
|
|
|
|
Constat principal (le plus grave) :
|
|
|
|
L'application livrée au public contient un compte de démonstration avec
|
|
identifiant et mot de passe en clair, codé en dur dans le code de la page de
|
|
connexion (fichier 1028.js du paquet JavaScript) :
|
|
|
|
reconnectUser = {id: 12745, phone: "0649014703", password: "0649014703"}
|
|
|
|
Ce compte de test biométrique est présent dans chaque copie de l'APK
|
|
distribuée sur le Play Store. Toute personne disposant de l'application
|
|
connaît donc un numéro de téléphone et un mot de passe valides pour votre
|
|
serveur boti.education. Si ce compte existe encore côté serveur, il permet
|
|
une prise de contrôle potentielle. Un correctif côté client est insuffisant :
|
|
le compte devrait être désactivé ou supprimé côté serveur.
|
|
|
|
Constats secondaires :
|
|
|
|
1. Le mot de passe est transmis en texte clair dans les champs du formulaire
|
|
de connexion (protégé par TLS, mais visible dans tout journal intermédiaire
|
|
qui enregistre les données de formulaire).
|
|
2. La version de production contient des appels console.log détaillés qui
|
|
affichent les paramètres de requête et les jetons d'accès.
|
|
3. Aucun épinglage de certificat ni obfuscation du code : l'ensemble du
|
|
protocole API (environ 100 points d'accès sur
|
|
https://boti.education/p/greenwood/botiapi/) se laisse documenter en
|
|
quelques heures.
|
|
|
|
Documentation technique complète (protocole API, liste des points d'accès,
|
|
détail des constats) : dépôt public
|
|
https://gitea.oimcloud.myaddr.tools/Omarchy-Big-PC/greenwood-school-re
|
|
|
|
Je n'ai publié ce dépôt qu'après avoir retiré toute donnée personnelle ; seul
|
|
le compte de démonstration livré par vos soins y est cité, comme preuve.
|
|
|
|
Je propose une divulgation coordonnée : merci de m'indiquer un délai de
|
|
correction raisonnable (90 jours est l'usage) et une personne de contact.
|
|
Je mettrai à jour le dépôt public avec le statut du correctif et la réponse
|
|
de votre équipe.
|
|
|
|
Cordialement,
|
|
|
|
[Votre nom]
|
|
Parent d'élève, Greenwood School
|
|
[Votre courriel]
|
|
[Votre téléphone]
|
|
|
|
---
|
|
|
|
## Suivi recommandé
|
|
|
|
1. Envoyer à hello@boti.education, copie cs@boti.education.
|
|
2. Noter la date d'envoi ici : ____________
|
|
3. Relancer après 14 jours sans réponse.
|
|
4. Après correction : mettre à jour docs/FINDINGS.md avec le statut de chaque
|
|
constat (corrigé / non corrigé) et le numéro de version du correctif.
|