Sabitlenmiş Tweet
Sudo Su
30.7K posts

Sudo Su retweetledi

Day #11 of #100DaysOfCyber | Exploitation d'un #SSRF
Avant hier, on a vu la théorie derrière le SSRF (Server-Side Request Forgery). Aujourd'hui, place au lab pratique de PortSwigger pour voir comment ça se passe concrètement dans Burp Suite.
Le scénario : L'application propose une fonctionnalité pour vérifier le stock d'un produit. Pour ce faire, le backend prend un paramètre nommé stockApi contenant une URL, effectue la requête HTTP lui-même, puis renvoie le résultat au client.
C'est le paradis pour un attaquant si l'entrée n'est pas nettoyée.
L'exploitation en 2 étapes :
- Reconnaissance interne (localhost) : En interceptant la requête avec Burp, on modifie la valeur de stockApi pour cibler l'interface locale du serveur : http://localhost/admin.
Le serveur s'exécute, interroge sa propre interface d'administration (normalement inaccessible depuis Internet) et nous renvoie gentiment le code HTML.
On découvre les routes d'administration, notamment celle permettant de supprimer des utilisateurs.
L'attaque (Suppression de compte) : Maintenant qu'on connaît la structure de la route sensible, on pousse le serveur à exécuter l'action destructrice à notre place. Il suffit d'envoyer : stockApi=http://localhost/admin/delete?username=carlos. Le serveur traite la demande en local avec ses propres privilèges d'admin, et le compte de Carlos est supprimé. Lab validé.
#Le serveur fait aveuglément confiance aux requêtes qui viennent de 127.0.0.1 ou localhost, pensant qu'elles viennent forcément d'un admin légitime connecté en interne.
C'est pour ça qu'interdire explicitement les IP privées et valider les URL via une liste blanche stricte côté backend est non négociable.
#Un dev qui comprend la sécurité.
#Un pentester qui comprend le code.
@PamIbrahimaBaba @_makh0u @guissehMaabo @sudo_su_ @LebzoDev
#Cybersecurity #WebSecurity #SSRF #PortSwigger #Pentest #BurpSuite #Backend #FullStack



Français
Sudo Su retweetledi
Sudo Su retweetledi

Meet me and my OctOpus at @VivaTech and Station F @joinstationf : )
AutoML tools are obsolete - we replace them!
OctOpus does the end to end job of a Senior Data Scientist. It understands your data - understands your goal - reasons - plans - write codes and builds the best models for you.
OctOpus doesn’t just produce the best model it answers your business question.
Why did you choose this model ? What is AUC score ? OctOpus talks to you.
Try OctOpus here: octoopus.dev
#AI #autoML #DataScience #MachineLearning #ML
@ycombinator @a16z @gustaf @garrytan @t_blom

English
Sudo Su retweetledi

AutoML tools are obsolete - OctOpus replace them!
OctOpus does the end to end job of a Senior Data Scientist. It understands your data - your goal - reasons - plans - write codes and builds the best models for you.
OctOpus doesn’t just produce the best model it answers your business question.
Why did you choose this model ? What is AUC score ? OctOpus talks to you.
Try OctOpus here: octoopus.dev
#AI #autoML #DataScience #MachineLearning #ML
@ycombinator @a16z @gustaf @garrytan @t_blom
English
Sudo Su retweetledi

Pourquoi les footballeurs sénégalais n’investissent pas dans la Tech et l’IA ?
@kkoulibaly26 @edou_mendy_ @SMane_Officiel
octoopus.dev

Français
Sudo Su retweetledi

Day #9 of #100DaysOfCyber | Le Concept du Jour : Le #SSRF 🛡️
Hier, lors du Day 8, on a parlé de WAF et de Rate Limiting pour sécuriser notre infrastructure et nos applications. Sauf que les attaquants vont toujours chercher des techniques pour contourner ces barrières. L'une de ces techniques redoutables est le SSRF (Server-Side Request Forgery).
C'est quoi ? Le SSRF est une vulnérabilité qui permet à un attaquant de forcer le serveur de l'application à envoyer des requêtes HTTP ou d'autres protocoles vers des cibles qu'il n'aurait jamais dû atteindre. En gros, on utilise le serveur comme un "rebond" ou un proxy.
Pourquoi c'est #dangereux ? Le serveur web se trouve souvent dans une zone de confiance. Il a accès au réseau local (LAN) de l'entreprise ou à des services cloud internes qui ne sont pas exposés sur Internet. Grâce au SSRF, un attaquant peut :
- Scanner le réseau interne privé de l'infrastructure.
- Accéder à des services locaux qui tournent sur la machine (comme une base de données ou un cache Redis sur localhost).
#Le pire : Lire les clés d'accès et les credentials via les API de métadonnées.
#Comment ça arrive côté code ? Dès qu'un développeur permet à l'utilisateur de fournir une URL que le serveur va devoir aller chercher (par exemple : importer une image de profil via un lien, générer un PDF à partir d'un site, ou faire un webhook), le risque est là si l'URL n'est pas strictement vérifiée.
#L'une des #solutions : En tant que dev, il faut multiplier les couches :

Français
Sudo Su retweetledi

Day #8 of #100DaysOfCyber #Concept du Jour : Le #Rate #Limiting ⏱
Après avoir testé des attaques par force brute ces derniers jours avec Turbo Intruder, il y a une protection indispensable que chaque développeur doit connaître pour bloquer ce genre d'attaque : le #Rate #Limiting.
C'est quoi ? Le Rate Limiting consiste à limiter le nombre de requêtes qu'un utilisateur (ou une adresse IP) peut effectuer sur une API ou un site web dans un intervalle de temps donné. Par exemple : maximum 5 tentatives de connexion par minute.
Pourquoi c'est vital pour la sécurité des applications ? Sans Rate Limiting, un attaquant peut envoyer des milliers de requêtes par seconde pour :
- Brute-forcer des mots de passe (comme on l'a vu).
- Énumérer des identifiants ou des données.
- Faire tomber le serveur (attaque DoS/DDoS) en surchargeant la base de données.
Comment l'implémenter ? Pour vous protéger, je vous propose deux solutions que vous pouvez dès à présent commencer à mettre en place :
Utiliser un WAF comme Cloudflare. C'est ultra-efficace pour bloquer le trafic suspect avant même qu'il ne touche vos serveurs.
Via le code : En l'implémentant directement dans votre backend . Cela vous permet d'avoir un contrôle plus fin, par exemple en limitant les requêtes par utilisateur connecté et non pas seulement par IP.
Multiplier les couches reste la meilleure approche : un premier filtre sur l'infra, et un contrôle dans le code sur les routes sensibles.
Les devs et DevOps, vous gérez le rate limiting à quel niveau d'habitude ? Plutôt Cloudflare/Nginx ou dans le code ? 👇
#Un dev qui comprend la sécurité.
#Un pentester qui comprend le code.
@PamIbrahimaBaba @_makh0u
#Cybersecurity #WebSecurity #ConceptDuJour #RateLimiting #Backend #FullStack #DevOps

Français
Sudo Su retweetledi

Alhamdoulilah, chez nous, la compétence passe avant tout. Tous les candidats qui ont réussi, je les ai trouvés ici sur ce réseau, alors qu’on ne se connaissait pas du tout au départ.
Bassirou 🇸🇳@mhd_bachiir
LE DRH sénégalais 1- Publie une offre d’emploi 2- Reçois 400 candidatures 3- Rappelle celui dont le père connaît le directeur 4- Écris « profil retenu après sélection rigoureuse » 5- Poste sur LinkedIn « nous croyons au mérite » Le mérite a un numéro de téléphone, on le sait tous
Français
Sudo Su retweetledi
Sudo Su retweetledi

Day #6 of #100DaysOfCyber | #Authentication & #BurpSuite ⚙️
J'ai commencé la partie sur les vulnérabilités d'authentification.
Le lab consiste à tester des attaques de brute force sur une page de connexion.
J'ai configuré mon attaque sur Burp Intruder, mais je n'ai pas encore pu terminer le lab à cause d'un souci avec ma version de Burp Suite
Le problème : Ma version de Burp Suite limite volontairement la vitesse des requêtes pour l'Intruder. 👇
Français
Sudo Su retweetledi

Day #5 of #100DaysOfCyber | #AccessControl & #IDOR 🛡️
Aujourd'hui, toujours sur le #Broken #Access# Control, focus sur l'#IDOR (Insecure Direct Object References) à travers deux labs différents de PortSwigger.
Pour faire simple, l'IDOR est une faille où l'application utilise un identifiant fourni par l'utilisateur pour accéder directement à un objet (un compte, un fichier, une facture) sans vérifier si cet utilisateur en a réellement le droit.
#Premier cas : Le piège des identifiants (UUID) L'application chargeait les comptes via une URL du type myaccount?id=456. On pourrait penser qu'utiliser des identifiants uniques complexes (UUID) au lieu de simples numéros incrémentés règle le problème car ils sont impossibles à deviner. Sauf qu'en analysant les requêtes avec Burp Suite sur la partie blog, j'ai remarqué que le détail de chaque article retournait publiquement l'auteur ET son UUID. Il m'a suffi de récupérer l'UUID de la cible, de le mettre dans mon URL de compte, et j'ai eu un accès total à ses informations.
👇




Français
Sudo Su retweetledi

#Deuxième cas : Le mot de passe caché dans le code source Ici, le backend renvoyait les données en se basant sur le paramètre username dans la requête. Ayant trouvé le nom de l'admin sur un article public, j'ai testé son accès. En arrivant sur sa page de modification de profil, le mot de passe de l'admin était masqué côté Front-End (dans l'input), mais entièrement visible dans le code source HTML renvoyé par le serveur. Un simple "Inspecter l'élément" a suffi pour le récupérer, me connecter et valider le lab en supprimant un compte.
#Ce qu'il faut retenir :
1. Remplacer des IDs par des UUIDs ne dispense pas de vérifier les permissions côté backend.
2. Ne renvoyez JAMAIS de données sensibles (comme un mot de passe) au Front-End en pensant que le masquer graphiquement suffit à le protéger.
#Un dev qui comprend la sécurité.
#Un pentester qui comprend le code.
@PamIbrahimaBaba @_makh0u @sibyog13 @sudo_su_ @Rahmatulah01 @guissehMaabo
#Cybersecurity #WebSecurity #PortSwigger #IDOR #BurpSuite #BuildInPublic #FullStack #Backend #Infosec


Français
Sudo Su retweetledi

Day #4 of #100DaysOfCyber | #AccessControl & #BurpSuite 🛡️
Aujourd'hui, je continue sur le Broken Access Control avec le lab "User role controlled by request parameter".
Le problème : même en connaissant l'URL de la page d'administration, l'accès m'était refusé après m'être connecté.
Pour voir ce qui se passait, j'ai utilisé Burp Suite pour intercepter les requêtes. En inspectant les headers, j'ai remarqué un cookie Admin=false. J'ai simplement modifié la valeur en Admin=true avant de renvoyer la requête. Le serveur a accepté la modification et a retourné la page admin avec les liens pour effectuer les actions.
On le répète : il ne faut jamais faire confiance au front-end, vérifiez toujours l'utilisateur connecté et ses permissions côté serveur.
#Un dev qui comprend la sécurité.
#Un pentester qui comprend le code.
@PamIbrahimaBaba @_makh0u @guissehMaabo @MDLD_ @MissGaye98 @Mister__iks @MrGueye_
#Cybersecurity #WebSecurity #PortSwigger #BurpSuite #BuildInPublic #FullStack #Backend #Infosec




Français
Sudo Su retweetledi

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



Français

