Refining macrodata and shipping code. You wouldn’t understand.

Joined September 2023
38 Photos and videos
Day #26 of #100DaysOfCyber | Sécurité Dev : Le Reverse Engineering d’API Hier, on a vu comment une documentation d'API oubliée en prod pouvait détruire la sécurité d'un site. Mais en situation réelle, la doc est souvent désactivée. Alors, comment fait un pentester pour attaquer une API s'il n'a pas le mode d'emploi ? C'est là qu'intervient le #Reverse #Engineering d'API. Le concept est simple : on va observer passivement comment l'application frontend discute avec son backend pour deviner et reconstruire la structure de l'API, ses routes et ses paramètres cachés. 3 étapes pour Reverse Engineering d'API : ➖ 1. L'analyse du trafic : On utilise un proxy comme Burp Suite pour intercepter toutes les requêtes HTTP/HTTPS générées lorsqu'on clique sur le site. On note la structure des URLs (ex: /api/v2/products/10) et le format des données (JSON, XML). ➖ 2. Deviner la structure : Les développeurs suivent souvent des conventions de nommage (REST). Si on voit une route GET /api/v1/users/42, on peut légitimement tester l'existence de : - GET /api/v1/users (pour lister) - POST /api/v1/users (pour créer) - DELETE /api/v1/users/42 (pour supprimer) ➖ 3. Le Fuzzing de paramètres : Même sans doc, on peut deviner les variables acceptées par le backend. Si une mise à jour de profil envoie {"name": "Mahmoud"}, on va tenter d'injecter des clés cachées comme {"role": "admin"} ou {"is_premium": true} (le Mass Assignment) pour voir comment le serveur réagit. Pourquoi c'est crucial pour un Dev ? Beaucoup de devs pensent encore que si une route d'API n'est pas écrite sur le site ou dans une doc publique, personne ne la trouvera. Un attaquant motivé mettra quelques mn surtout avec les outils à cartographier vos endpoints backend juste en regardant les requêtes réseau de son navigateur. C'est pourquoi il faut un contrôle d'accès strict sur chaque route, documentée ou non #Un dev qui comprend la sécurité. #Un pentester qui comprend le code. @_makh0u #Cybersecurity #WebSecurity #APISecurity #ReverseEngineering #PortSwigger #Backend #FullStack
2
6
176
Jun 11
Every developer has the graveyard. The repos with three commits. The domain that renewed twice and pointed nowhere. We’ve been taught to feel guilty about this — and it’s the wrong vocabulary entirely. mdld.dev/side-projects-dont-…

1
2
23
Day #23 of #100DaysOfCyber | On s'attaque à l'API Testing ! En dehors des autres labs et cours que je fais pour le challenge, je voulais absolument continuer sur la plateforme @PortSwigger parce que j'ai trop aimé leur approche. Pour la suite, j'ai donc choisi le module API Testing. Comme je travaille beaucoup plus côté backend, c'est un sujet qui m'impacte directement. On sait tous que les APIs sont partout aujourd'hui et qu'elles font partie des éléments les plus sensibles d'une architecture. Je sens déjà que ça va être trop fun à creuser Pour aller encore plus loin, je vais sûrement combiner les labs de #PortSwigger avec ce que je fais à côté sur @apisecu C'est quoi l'API Testing en Pentest ? Au lieu de naviguer sur l'interface graphique d'un site, on intercepte et on analyse les requêtes directes envoyées aux points d'accès (les endpoints comme /api/v1/users). L'objectif est de manipuler les structures de données (souvent du JSON ou du XML) pour tester la logique du backend et voir si on peut contourner les règles. #Un dev qui comprend la sécurité. #Un pentester qui comprend le code. #Cybersecurity #WebSecurity #APISecurity #PortSwigger #Backend #FullStack #REST #GraphQL @_makh0u
4
13
223
MDLD retweeted
T’es en plein sommeil ,et ton grand frere qui part au travail à 4h du matin te demande de venir fermer la porte . 😭
216
3,012
16,208
901,721
Day #19 of #100DaysOfCyber : Le concept du jour l'#OS #Command #Injection Après avoir vu les exécutions de code via les uploads de fichiers, aujourd'hui on va parler d'une autre faille hyper critique : l'OS Command Injection (Injection de commandes système). Le concept est simple : cette faille arrive quand le backend prend une entrée utilisateur et la passe directement à une fonction qui exécute des commandes sur le terminal du serveur (comme system() ou exec()), sans rien nettoyer. Imaginez une application web où le dev veut créer une fonctionnalité pour tester la connectivité d'une adresse IP. Côté code backend, il fait ça :system("ping -c 4 " ip_user); Ce que le dev attend : L'utilisateur tape 8.8.8.8, et le serveur exécute sagement ping -c 4 8.8.8.8. Ce que fait le pentester : Il sait comment fonctionnent les terminaux. À la place d'une simple IP, il va injecter des opérateurs comme ;, && ou |. Par exemple, il va envoyer : 8.8.8.8 ; whoami. Du coup, le serveur va exécuter aveuglément deux commandes à la suite : d'abord le ping, puis le ; va forcer le terminal à lancer la commande suivante : whoami. À partir de là, le pentester a un accès direct au terminal. Il lui suffit d'enchaîner avec un ls -la, un cat pour lire des fichiers confidentiels, ou carrément injecter un Reverse Shell pour prendre le contrôle total de la machine. #Un dev qui comprend la sécurité. #Un pentester qui comprend le code. @_makh0u #Cybersecurity #WebSecurity #DevSecOps #Backend #CommandInjection #RCE #FullStack
4
9
296
Day #18 of #100DaysOfCyber | Lab : Exploitation d'une faille d'upload de fichier Comme on l'a vu lors du Day 16, il ne faut jamais se fier au #Content-Type pour la vérification des fichiers côté Backend. Pour valider ce lab, je devais récupérer le contenu du fichier /home/carlos/secret. L'application possède une fonctionnalité d'upload pour la photo de profil. J'ai commencé par uploader directement mon script PHP pour extraire le contenu, mais le Backend a refusé en m'indiquant qu'il acceptait uniquement les images JPEG ou PNG.👇
1
1
7
384
Day #16 of #100DaysOfCyber | Concept du jour : Contourner la validation du Content-Type Hier, on a vu le cas où un serveur n'avait aucune sécurité. Dans la vraie vie, les développeurs mettent des protections. Aujourd'hui, on voit comment contourner un filtre basé sur le Content-Type. Comment fonctionne ce filtre ? Quand tu uploades une image, ton navigateur envoie une requête HTTP contenant une ligne appelée Content-Type. Par exemple : Content-Type: image/jpeg. L'erreur classique en dev, c'est de lire cette ligne côté Backend et de lui faire aveuglément confiance. Si le serveur voit image/jpeg, il valide l'upload sans vérifier le contenu réel. Comme cette ligne est générée par le navigateur, un attaquant peut la modifier en deux secondes. L'attaquant envoie son script exploit.php. Le navigateur génère automatiquement : Content-Type: application/x-php. Le serveur bloque la requête. L'attaquant intercepte la requête avec Burp Suite et remplace manuellement la ligne par : Content-Type: image/jpeg. Le Backend est trompé : il croit recevoir une photo et accepte le fichier. Le script PHP est enregistré sur le serveur. Le Content-Type est une donnée utilisateur modifiable. On ne doit jamais lui faire confiance pour valider la sécurité d'un fichier. La seule vraie solution reste l'analyse des fichiers côté Backend. #Un dev qui comprend la sécurité. #Un pentester qui comprend le code. @PamIbrahimaBaba @_makh0u @MDLD_ #Cybersecurity #WebSecurity #FileUpload #Bypass #BurpSuite #Backend #FullStack
2
3
119
Day #14 of #100DaysOfCyber | SAKR : #Smart Recon J'ai travaillé sur la v1 du module Smart Recon. Avant, je perdais beaucoup de temps pour réussir à regrouper toutes ces informations. Avec SAKR, j'ai tout centralisé en un seul clic autour de 3 étapes simples : - Trouver : L'application récupère les sous-domaines de manière passive, sans toucher à la cible, en passant par des outils existants comme crt.sh. - Vérifier : Elle teste si les serveurs répondent, identifie le cloud provider et récupère les codes status de chaque page. - Trier : Plus besoin de chercher, on obtient le résultat directement dans un tableau propre et on sait exactement par où commencer . En quelques secondes, la cartographie est prête. #Un dev qui comprend la sécurité. #Un pentester qui comprend le code. @PamIbrahimaBaba @_makh0u #Cybersecurity #WebSecurity #SAKR #Reconnaissance #SmartRecon
3
7
228
May 23
Arch >>>> All
Tell me any os better than Arch Linux I'll wait !!!
41
Day #3 of #100DaysOfCyber | #AccessControl 🛡️🔒 Aujourd'hui, en plus de quelques révisions sur les bases avec #TryHackMe, j'ai attaqué les labs sur le #Broken #Access #Control (le contrôle d'accès défaillant). Pour faire simple, c'est une faille de sécurité qui permet à des utilisateurs non autorisés de réaliser des actions ou d'accéder à des ressources privées auxquelles ils ne devraient pas avoir accès. C'est un problème que je remarque depuis des années sur plein d'applications. Parfois, on pense que certaines données ne sont pas si importantes, alors que sécuriser ces accès est un must-do, surtout dans les applications qui gèrent des données sensibles. Cette faille me rappelle une anecdote : Un jour, je devais rejoindre un projet. Avant de commencer à bosser, je teste les fonctionnalités et je jette un œil à une partie du code source. Et là, surprise... En allant dans la console du navigateur pour modifier les valeurs dans le localStorage, je change une simple variable du state (un truc du genre userStatus = 'admin'). Je rafraîchis la page, et boom : l'interface me redirige directement sur le dashboard administrateur. Le plus fou ? Le backend ne vérifiait absolument pas les autorisations sur ses routes d'API. Il faisait aveuglément confiance au front-end. En réalité, je pourrais donner beaucoup d'exemples de ce type sur des projets Mais alors, d'où vient cette #négligence ? En tant que devs, est-ce qu'on se focalise trop sur le visuel et ce que le client veut voir ? Est-ce par pur manque de temps et de budget ? Ou est-ce un manque de formation sur la différence cruciale entre l'authentification (qui tu es) et l'autorisation (ce que tu as le droit de faire) ? Qu'en pensez-vous les devs et les pentesters ? Selon vous, quel est le vrai problème de fond qui explique que le Broken Access Control reste le n°1 du top 10 OWASP ? #Un dev qui comprend la sécurité. #Un pentester qui comprend le code. @PamIbrahimaBaba @_makh0u @_SaxX_ @tonux_samb @eliaswalyba @MedteckThiam @alkaly_badjii @MDLD_ #Cybersecurity #WebSecurity #AccessControl #OWASP10 #BuildInPublic #FullStack #Backend #Infosec #DevSecOps
1
4
13
699
MDLD retweeted
Vous cherchez à vous connecter avec la communauté tech sénégalaise ? Galsen DEV Map est là pour vous ! Ce projet open source cartographie les développeurs sénégalais et facilite les rencontres entre eux. Grâce à lui, il devient plus facile de travailler ensemble et d'inspirer la prochaine génération. Allez voir sur github.com/GalsenDev221/map
10
45
172
13,547
May 13
The work is mysterious and important…
1
28
J'ai passé des années en dev full-stack. Maintenant je plonge dans la cybersécurité. Je lance #100DaysOfCyber 🔐 Dev Sécurité. En public. Si tu veux relever le défi aussi, fais moi signe linkedin.com/posts/mahmoudba…
1
2
4
1,322
MDLD retweeted
Je lance PromptCraft🥳🙂‍↔️ En plus de vous montrer comment contraire un prompt, l’outil vous génère des prompts parfaits en 3s😌. Fini les prompts médiocres😅 Comment ça marche : 1- student décris ton idée en quelques mots, 2- Notre agent IA analyse en 3 étapes : → Analyse : intention domaine complexité → Structure : 5 sections professionnelles → Raffinage : prompt final fluide et prêt à l'emploi 3-Tu copies et tu utilises directement → Dans ChatGPT, Claude, Gemini... Essayez maintenant : prompt-craft26.netlify.app/ J’attend vos retours🙂‍↔️🤗
6
27
85
5,256
MDLD retweeted
J’ai lancé mon business mais j’ai du mal à vendre 😭 RT lene mou teup comme sa ma élargir dama commerce nk😭😭😭
9
980
1,263
32,313
Lii dou progrès, perte de repères la. Le féminisme qu’on nous injecte au Sénégal n’est pas une émancipation, c’est une capitulation culturelle. Arrêtez d’attaquer l’homme sénégalais pour masquer vos propres dérives : fi mbedd dou keur, si la discorde s’installe, c'est parce que certaines ont troqué leur noblesse pour une confrontation étrangère à nos racines. Vouloir "casser les codes" yaakh na souniou biir keur. Avant de pointer du doigt l'homme, fél lèn séèn séétu (regardez votre propre miroir) : celui du Soutoura. Si l'homme se durcit, c'est que votre posture ne lui laisse plus de place pour la bienveillance. Jiggen moy défar, dou yaakh. La paix sociale ne se fera pas par la rébellion, mais par une femme qui honore son rang. ✊🏾📿 #senegal #valeurs #soutoura #JiggenuSenegal
95
532
1,811
145,934
MDLD retweeted
Bonjour la famille X Je suis étudiant en Master 2 en Sécurité des Systèmes d’information (SSI) et je cherche actuellement un stage de fin d’études pour valider mon master. Si vous avez des contacts ou des opportunités, je suis vraiment preneur. Un RT peut beaucoup aider🙏🏽
9
779
744
25,739
MDLD retweeted
Mon burnout m'empêche de travailler depuis 3 semaines maintenant. Je reprends graduellement mes activités, mais ce n'est pas facile. Je vous épargne les détails des autres problèmes que ça a engendré (digestif, immunitaire, etc.) Don't fall for it. Prenez soin de vous!
21
61
394
15,249
Il voit une moto venir mais il décide quand même de faire face. Des mesures très sérieuses doivent être prises sur la conduite de certains chauffeurs sur la route. Sa plaque: AA 579 RB #LCIS®️ #Sénégal #Indiscipline [2/2] Ça coûte 0€ de Rt🇸🇳 #MafiaKaccKacci1
5
141
303
9,178
Aux Philippines les enfants sont habitués tres tôt a resoudre des problèmes de tous les jours, comme ici ils sont hands on sur moteur automobile... 🙄 Chez les autres descendants de jules ferry, les 4 points cardinaux, " binta a une robe " a l'université selon mam biram wathie
5
20
115
4,410