← SécuritéCédric MerlinFREN

Galaxie Sécurité Cas 4 sur 5

Cinq téléchargements en moins d’une minute

Le problème

Un robot téléchargeait les guides gratuits d’un site par son formulaire public : six en deux jours, dont cinq en moins d’une minute.

La contrainte

Bloquer les robots sans captcha tiers qui piste les visiteurs.

Ce que j’ai fait

01

Audit

Un captcha était bien dans le code, mais jamais activé.

02

Jeton signé

Le serveur signe chaque formulaire, et un jeton ne sert qu’une fois.

03

Champ piège

Invisible pour un humain, rempli par les robots.

04

Limite de débit

Elle tient même après un redéploiement.

Schéma : un robot et un visiteur devant le même formulaireAu départ, le captcha est éteint et un robot envoie six requêtes acceptées. À la fin, le serveur délivre un jeton signé à usage unique : le visiteur passe, le robot est refusé. Un champ leurre invisible trahit le robot. Un seau de débit se remplit, déborde, refuse les requêtes suivantes et garde son niveau après un redéploiement.robotvisiteurcaptchajamais activéinvisible pour un humainjetonserveur

Le résultat

Les robots échouent, les visiteurs ne voient aucune différence.

Stack

  • HMAC
  • Node.js