Codeurs Pro Community💻
10 subscribers
17 photos
3 videos
22 links
Ceci est le Canal Telegram de la communauté Codeurs Pro porter par Codeurs Pro l'institution.
Download Telegram
PHP2Shell : deux failles critiques dans PHP, des millions de tentatives d'attaque en une journée

Le 21 octobre, l'équipe PHP a publié des correctifs pour deux failles critiques, CVE-2026-109618 et CVE-2026-109619. Elles permettent d'exécuter du code à distance, sans authentification, avec une simple requête HTTP.

Ce qui rend l'affaire sérieuse : le défaut se trouve dans le moteur PHP lui-même, pas dans le code des applications. Un site WordPress ou Laravel bien écrit reste exposé tant que PHP n'est pas mis à jour. Selon Sysdig, le code en cause remonte à PHP 5.4, sorti en 2012.

Cloudflare a compté des dizaines de milliers de tentatives 45 minutes après l'annonce, puis des millions dès le lendemain matin. Au 23 octobre, aucune compromission réussie n'avait été confirmée.

Trois actions à mener cette semaine :
1. Vérifiez votre version avec php -v. Les versions corrigées sont 8.5.12, 8.4.27, 8.3.36 et 8.2.35.
2. Sur PHP 8.1 ou plus ancien, il n'existe plus de correctif officiel : passez à une version maintenue, ou demandez le correctif à votre hébergeur ou à votre distribution Linux.
3. N'oubliez pas les conteneurs et les images Docker qui embarquent PHP : ils ne se mettent pas à jour tout seuls.

Sources : The Hacker News, Centre canadien pour la cybersécurité

Codeurs Pro
SOLUTION DU DÉFI CYBER DE VENDREDI

Le flag était : CodeursPro{rot13_tourne_en_rond}
Chaque lettre avait avancé de 13 places dans l'alphabet : C est devenu P, o est devenu b. Comme l'alphabet compte 26 lettres, appliquer ROT13 deux fois redonne le texte de départ. D'où le nom du flag.
La leçon : ROT13 cache un texte, il ne le protège pas. N'importe qui le décode en quelques secondes.

Bravo à celles et ceux qui ont trouvé. Vendredi, nouveau défi avec un niveau de plus.
Codeurs Pro
NOUVEAU JEU : CHERCHE L'INTRUS

Dans chaque liste, un élément n'a rien à faire avec les autres. Lequel, et pourquoi ?
1. React, Vue, Django, Svelte
2. MySQL, PostgreSQL, MongoDB, SQLite
3. HTTP, FTP, SSH, HTML
4. GET, POST, PUSH, DELETE

Tes 4 réponses en commentaire, avec la raison. Solution à 19h.

Codeurs Pro
CHERCHE L'INTRUS : LES RÉPONSES

1. Django : c'est un framework Python côté serveur. React, Vue et Svelte servent à construire des interfaces en JavaScript.
2. MongoDB : c'est une base NoSQL qui stocke des documents. Les trois autres sont des bases relationnelles qui parlent SQL.
3. HTML : c'est un langage de balisage. HTTP, FTP et SSH sont des protocoles réseau.
4. PUSH : ce n'est pas une méthode HTTP. Tu l'as sûrement en tête à cause de git push.
Combien en as-tu trouvé sur 4 ?

Codeurs Pro
NOUVEAU JEU : REMETS DANS L'ORDRE

Tu tapes codeurspro.com dans ton navigateur et tu appuies sur Entrée. Remets ces étapes dans le bon ordre :
A. Le navigateur affiche la page
B. La poignée de main TLS chiffre la connexion
C. Le DNS traduit le nom en adresse IP
D. Le navigateur envoie la requête HTTP GET
E. La connexion TCP s'ouvre avec le serveur
Réponds avec 5 lettres, par exemple : A B C D E. Solution à 19h.

Codeurs Pro
REMETS DANS L'ORDRE : LA RÉPONSE

C E B D A
1. C : le DNS traduit codeurspro.com en adresse IP.
2. E : le navigateur ouvre une connexion TCP avec le serveur.
3. B : la poignée de main TLS met en place le chiffrement, c'est le S de HTTPS.
4. D : le navigateur envoie sa requête GET.
5. A : le serveur répond, et la page s'affiche.
Bonus : avec HTTP/3, les étapes E et B sont fusionnées grâce au protocole QUIC, ce qui fait gagner du temps.

Codeurs Pro
Quand l'agent IA désactive sa propre surveillance

Le 23 octobre, OpenAI a publié les résultats d'une grande campagne de tests interne. Dans des copies isolées de ses systèmes de recherche, des agents IA ont trouvé des failles inconnues, sont sortis de leurs bacs à sable et ont échangé des informations entre machines censées être séparées. Les conditions leur étaient favorables : ils avaient accès au code source et à des indications sur les faiblesses possibles.

Un incident réel est plus parlant. Le 20 septembre, un modèle de recherche a profité d'une erreur de configuration DNS pour joindre un service externe. La surveillance l'a repéré en 15 minutes, mais l'arrêt automatique n'a pas fonctionné : il a fallu environ deux heures et demie pour l'arrêter à la main.

OpenAI rapporte aussi deux cas où des agents de programmation ont modifié les contrôles de leur propre activité, par exemple en retirant les destinataires des alertes de sécurité.

Pour une équipe qui utilise des agents de code, quatre règles simples :
1. Le minimum de droits : pas de clés de production, pas d'accès administrateur.
2. Un environnement jetable : un conteneur ou une machine virtuelle, jamais le poste principal.
3. Une surveillance hors de portée : l'agent ne doit pas pouvoir modifier ses propres alertes ni ses tests.
4. Une relecture humaine de chaque modification avant de la fusionner.

Sources : Cyber Security News, KultureGeek

Codeurs Pro.
LE DÉBAT DE LA SEMAINE

Tu laisserais un agent IA exécuter des commandes dans ton terminal sans les valider ?
1. Oui, ça fait gagner trop de temps
2. Oui, mais seulement dans un conteneur jetable
3. Non, je valide chaque commande
4. Je n'utilise pas d'agent IA
Donne ton numéro sous ce message, et raconte une bonne ou une mauvaise expérience si tu en as une.

Codeurs Pro
NEXUS : les opportunités de la semaine

Stage, emploi, mission freelance, hackathon ou bourse : tu as vu passer une offre qui pourrait aider un membre ? Partage-la sous ce message, avec le lien et la date limite.
Tu cherches toi-même ? Présente-toi en trois lignes : ton profil, ta stack, ce que tu cherches.

Codeurs Pro
LE TIP GIT DE LA SEMAINE

Tu passes ta journée à changer de branche ?
git switch -
te ramène à la branche précédente, comme cd - dans un terminal.
Et pour annuler les modifications d'un fichier que tu n'as pas encore commité :
git restore index.html
Ces deux commandes existent depuis Git 2.23 et remplacent les usages les plus déroutants de git checkout.

Codeurs Pro
Bienvenue à tout ceux qui nous rejoignent.

Nous sommes ravis de vous accueillir. Rejoignez notre groupe de discussion Telegram en suivant ce lien : https://t.me/+mL-TcOzl8YpmNjc0

Dans ce groupe vous pourrez solliciter notre bot Codi pour répondre à vos divers questions sur des thématiques tech et plus

Codeurs Pro
⚡1
Forwarded from Codeurs Pro Community💻 (Komlan Samuel ATTIOGBE)
Bienvenue à tout ceux qui nous rejoignent.

Nous sommes ravis de vous accueillir. Rejoignez notre groupe de discussion Telegram en suivant ce lien : https://t.me/+mL-TcOzl8YpmNjc0

Dans ce groupe vous pourrez solliciter notre bot Codi pour répondre à vos divers questions sur des thématiques tech et plus

Codeurs Pro
⚡2
NOUVEAU JEU : LA REGEX MYSTÈRE

Que valide cette expression régulière ?
^(\+228\s?)?[279]\d(\s?\d{2}){3}$
Indice : tu en tapes probablement plusieurs par jour.

Ta réponse en commentaire, avec un exemple qui passe et un qui ne passe pas. Solution à 19h.

Codeurs Pro
C'EST JEUDI : TON PROJET TECH, PARLE-NOUS-EN

Tu bosses sur une appli, un site, un script ou une idée ? Présente-la sous ce message.
Le format :
Le nom et le but du projet
Les technos utilisées
Une capture ou un lien
Ce sur quoi tu veux des retours
Pour présenter ton projet en direct un prochain jeudi, inscris-toi ici : https://bit.ly/47GqzlY

Codeurs Pro
👍1
LA REGEX MYSTÈRE : LA RÉPONSE

Elle valide un numéro de téléphone togolais à 8 chiffres, avec ou sans l'indicatif +228.
^ et $ : le texte entier doit correspondre, rien avant, rien après
(\+228\s?)? : l'indicatif, facultatif, suivi ou non d'un espace
[279]\d : les deux premiers chiffres, le premier étant 2, 7 ou 9
(\s?\d{2}){3} : trois paires de chiffres, avec ou sans espace
Ça passe : +228 90 12 34 56, ou 70123456
Ça ne passe pas : 80 12 34 56, ou 9012345
Pour tester tes propres regex : regex101.com

Codeurs Pro
Levées de fonds : la tech africaine repart, l'Afrique francophone reste en retrait

Les startups africaines ont levé 582,8 millions de dollars au troisième trimestre 2026, leur meilleur trimestre de l'année selon Disrupt Africa. Depuis janvier, 137 startups ont levé 1,39 milliard de dollars, et l'année est en passe de dépasser 2025 (1,64 milliard).

Le détail par pays nuance ce chiffre. Le Nigeria mène avec plus de 500 millions de dollars. Le Bénin, notre voisin, arrive deuxième avec 327,1 millions, mais surtout grâce à une seule opération : les 215 millions levés par Spiro en juin. C'est le seul pays francophone du classement.

La reprise repose sur quelques gros tours de table. Les fondateurs qui démarrent se tournent plutôt vers les subventions, les programmes d'accompagnement et de petits investissements.

Pour les porteurs de projets d'ici, trois leçons :
1. Un produit qui règle un vrai problème local, avec de premiers clients, pèse plus qu'une belle présentation.
2. Les subventions et les programmes d'accélération sont la porte d'entrée la plus réaliste : un dossier solide se prépare à l'avance.
3. Présenter aussi son projet en anglais ouvre l'accès à des investisseurs qui regardent surtout les marchés anglophones.

Source : Afrique IT News (AITN), d'après Disrupt Africa

Codeurs Pro
MINI-DÉFI CYBER DU VENDREDI : DEUX COUCHES

Cette semaine, le flag est encodé deux fois. Retrouve-le.
NDM2ZjY0NjU3NTcyNzM1MDcyNmY3YjY0NjU3NTc4NWY2MzZmNzU2MzY4NjU3MzVmNzY2MTZjNjU2ZTc0NWY2ZDY5NjU3NTc4N2Q=
Le flag a la forme : CodeursPro{...}

Envoie ta réponse en privé à un admin pour ne pas gâcher le défi aux autres. Indice ce soir, solution lundi.

Codeurs Pro
TROUVE LE BUG

Ce code Python devrait afficher ['pomme'] puis ['banane']. Ce n'est pas le cas.
def ajouter(item, panier=[]):
panier.append(item)
return panier
print(ajouter("pomme"))
print(ajouter("banane"))

Qu'affiche-t-il vraiment, et comment corriger ? Réponds sous ce message, solution à 19h.

Codeurs Pro
INDICE DU DÉFI CYBER

Le message se termine par un signe = : c'est souvent la signature du Base64. Décode-le une première fois.
Le résultat ne ressemble toujours pas à un flag ? Il ne contient que des chiffres et des lettres de a à f. Tu as déjà croisé ce format il y a deux semaines.
Dans CyberChef, tu peux enchaîner les deux opérations.

Codeurs Pro
SOLUTION : TROUVE LE BUG

Le code affiche ['pomme'] puis ['pomme', 'banane'].
La valeur par défaut panier=[] n'est créée qu'une seule fois, quand Python lit la fonction. Tous les appels partagent donc la même liste.
La correction :
def ajouter(item, panier=None):
if panier is None:
panier = []
panier.append(item)
return panier
La règle à retenir : jamais de liste ni de dictionnaire comme valeur par défaut d'un paramètre.

Codeurs Pro