{"partition": "head_middle", "source_domain": "linuxfr.org", "digest": "sha1:NI3LUIUZIR6NXOXMQG3MCTX5V2C7V4KP", "path": "/lustre/fsn1/projects/rech/qgz/uzq54wg/processed_redpajama/base_processing/output/fr/2014-15/000_00037.parquet"}
Journal Jouer avec la sécurité web
Posté par Bruno Michel (page perso) le 23/08/12 à 22:22.
Licence CC by-sa
23août2012
Stripe organise un challenge autour de la sécurité des applications web. Le but du jeu est de capturer un drapeau (12 chiffres) en passant 9 niveaux (numérotés de 0 à 8). Pour passer un niveau, il faut réussir à récupérer le mot de passe d'une petite application web.
Les premiers niveaux sont faciles d'accès avec des attaques tout ce qu'il y a de plus classique comme des injections SQL et des XSS. Le dernier niveau est, par contre, bien plus relevé (je bloque dessus pour le moment).
Si vous voulez aussi jouer, ça se passe sur https://stripe-ctf.com/.
Compte github requis
Posté par lathan le 23/08/12 à 23:23.
Quel intérêt d'exiger un compte github ? [^]
Re: Compte github requis
Posté par Kaane le 23/08/12 à 23:27.
Quel intérêt d'exiger un compte github ?
C'est un site pedagogique, il utilise toutes les méthodes disponibles pour apprendre les bases de la sécurité a des non initiés.
Les personnes qui ont utilisé leur vrai compte GitHub pour rentrer dans le site vont apprendre très vite qu'il ne faut pas donner son mot de passe à n'importe quel site sur le net.
Évalué à 10
Heu, je peux me tromper mais je n'ai vraiment pas l'impression qu'un compte github soit obligatoire pour s'inscrire. Il suffit juste d'entrer une adresse email et un mot de passe pour s'inscrire.
D'autre part, pour les personnes comme moi qui ont utilisé leur compte github pour s'authentifier, ça se passe via OAuth et Stripe n'a pas accès à mon mot de passe. Le token OAuth ne donne qu'un droit de lecture sur les infos publiques.
Bref, pour autant que je puisse en juger, ça respecte les bonnes pratiques du développement web.
Merci bien...
Posté par jigso le 23/08/12 à 23:31.
J'étais parti pour me coucher, et voila, je vais y passer la nuit… Déjà au level 3.
Sinon plus sérieusement je me demande s'il existe un site qui reprend les bonnes pratiques technique en matière de sécurité de site web, d'authentification, de gestion de mot de passe, de session, etc.
Bref quelque chose de vraiment détaillé, et surtout avec des explications sur les trucs à faire et ceux à ne pas faire.
Re: Merci bien...
Dernière modification : le 24/08/12 à 00:00
Dans le monde Ruby on Rails, le guide sur la sécurité est une très saine lecture. Sinon, on peut aussi trouver pas mal d'infos sur le site de l'OWASP (beaucoup de contenus, mais un peu trop fouillis à mon goût). Enfin, il y a quelques autres liens intéressants sur https://stripe-ctf.com/about
Posté par Tony Flow le 27/08/12 à 20:27.
Merci aussi ! J'ai trouvé ça assez sympa comme exercices.
Ca permet de réviser les classiques, d'en mettre en oeuvre certains pour la 1ère fois. Mais c'est aussi l'occasion d'en creuser d'autres voire d'en découvrir. Bref c'est distrayant pour l'informaticien avide d'énigmes tout en étant instructif ;)
(et apparemment on gagne un T-shirt à la fin !)
Pas si facile !
Posté par Kioob le 24/08/12 à 02:06.
Et bien je sèche au niveau 4, "Karma Trader" : je vois pas d'injection SQL possible, SQLite est bien sensible à la casse, pas trouvé comment changer l'émetteur d'un transfert, ni même comment fausser le "trusts_me", etc.
M'embarquer dans une tentative pour crafter mon propre cookie de session me semble bien difficile, même avec un fichier d'entropie "fixe" :/
Bref, je dois être mauvais.
Re: Pas si facile !
Posté par maclag (page perso) le 24/08/12 à 07:35.
Avant que quelqu'un réponde, ne pas donner de solutions publiques, vous allez gâcher tout l'intérêt du truc!
Je plussois. J'aimerais effectivement comprendre, mais ça peut attendre quelques jours/semaines, et aucune réponse ne devrait être donnée en public.
Peut-être que le projet fournira justement ces explications après un certain temps ?
Un tout petit indice, en ROT13 de surcroît, ça ne devrait pas gâcher le niveau à qui que ce soit : Y'hgvyvfngrhe xnezn_sbhagnva ivfvgr geèf eéthyvèerzrag yr fvgr.
Rg fv ba yhv qbaar ha xnezn…
ebsy… har fvzcyr vawrpgvba WF…
J'ai honte de ne pas y avoir pensé plus tôt… merci !
Merci pour le lien
Posté par Thom (page perso) le 24/08/12 à 09:15.
Merci, Je sais ce que je vais essayer de faire ce soir.
En tout cas, leur site est joli.
La réalité, c'est ce qui continue d'exister quand on cesse d'y croire - Philip K. Dick
intéressant mais c'est quoi le but ?
Posté par pralines (page perso) le 24/08/12 à 11:52.
le but de leur challenge c'est de récupérer les @ip, logins et mots de passes de hackers ?
faut-il réussir tous les niveaux pour avoir la réponse ?
est-ce qu'à la fin de l'opération on aura plus d'infos que le tableau des highscore (genre la solution de chaque tableau avec éventuellement quelques explications) ?
Obi-Wan Kenobi ?
Envoyé depuis mon Archlinux
Re: intéressant mais c'est quoi le but ?
C'est une jolie opération de com'
Ça permet de contacter les gagnants pour essayer de les recruter.
est-ce qu'à la fin de l'opération on aura plus d'infos que le tableau des highscore ?
J'espère. Si ce n'est pas le cas, je posterais ici des explications pour les premiers niveaux.
il y a un peu plus d'infos sur leur blog Stripe (je suppose que c'est en le suivant que tu as appris le début de ce challenge…),
il est dit qu'on peut causer avec les autres participants sur leur chat, à la fin du challenge CTF précédent la solution complète a été postée sur GitHub, j'espère qu'ils vont faire la même chose, à surveiller après le 29 août
Très ludique
Posté par neerd le 28/08/12 à 10:29.
Voilà j'ai enfin terminé, un challenge vraiment sympa qui m'a fait me creuser les méninges à plusieurs reprises (parfois sur des trucs cons … par exemple j'ai perdu un temps fou sur le niveau 7 à ne pas lire correctement le retour de commande ….)
En tout cas j'ai pu réviser mes classiques et apprendre de nouvelles choses (jquery, hash length extension attack …)
Et voilà, c'est terminé...
Posté par laurentm (page perso) le 30/08/12 à 16:40.
Merci Bruno d'en avoir parlé ici, ça aurait été dommage de passer à côté de ça.
J'ai réussi à aller jusqu'au dernier niveau, mais impossible de le passer … je n'ai absolument aucune piste pour le résoudre, même pas la moindre petite idée ! Vivement que les solutions soient en ligne.
En tout cas, c'était sympa, ça permet de se rendre compte de ce qu'il est possible de faire avec une injection SQL ou du XSS. Même s'ils se sont donnés du mal pour donner un contexte plus ou moins réaliste à chaque niveau, ça aurait été sympa de plancher sur du vrai code contenant des failles exploitables (et exploitées).
Et en bonus j'ai fait mon premier padding SHA1, je ne savais même pas que c'était possible :)
Pour les curieux, http://blog.ioactive.com/2012/08/stripe-ctf-20-write-up.html et http://jasiek.posterous.com/stripe-ctf-20-walkthrough donnent les solutions des différents niveaux.
Re: Vitalité du projet