2010-10-05 4 views

Répondre

7

Depuis, ils ont corrigé un grand nombre d'entre eux, mais l'ensemble du projet était vraiment un gâchis de presque tous les exploits de sécurité Web du livre. Voici un rapide aperçu des problèmes rencontrés dès le premier jour de la publication de leur code alpha:

  1. Ils n'ont jamais vérifié qu'un utilisateur donné était autorisé à faire quoi que ce soit. Ainsi, alors qu'un utilisateur peut aller à /image/123/delete/ pour supprimer une image de leur choix (dont l'identifiant est 123), ils peuvent simplement taper manuellement l'URL /image/1/delete/ pour supprimer l'image avec un ID de 1, même si cette image n'a pas été les leurs.
  2. Ils ont utilisé une fonction de raccourci dans Ruby on Rails qui vous permet d'assigner massivement des propriétés POST'ed à une table de base de données sans valider que ces propriétés étaient réellement dans le formulaire. Alors qu'une page de mise à jour de profil pourrait avoir des champs pour changer une image d'avatar et une description bio, n'importe qui avec un peu de savoir-faire pourrait bidouiller les données POST avant qu'elles soient envoyées au serveur et envoyer des paires de colonnes mot de passe, ID de session, etc. Combinez cela avec le point # 1 où vous pouvez simplement modifier les données de n'importe qui si vous connaissez l'URL, et vous pouvez placer l'information privée de n'importe qui de ce que vous voulez.
  3. Ils ont utilisé MongoDB pour leur backend. Pour les non-initiés, Mongo utilise Javascript pour certaines de ses capacités d'interrogation. Ils ont pris des chaînes de requête de recherche brutes et les ont simplement exécutées par rapport à leur backend Mongo, ce qui permettait à n'importe qui envoyant du Javascript bien structuré comme une requête de faire vraiment ce qu'ils voulaient avec la base de données.

Si vous êtes curieux de connaître les détails techniques, ne hésitez pas à educate yourself.

+0

Quelle honte ... !! Est-ce toujours le cas? Existe-t-il une alternative plus sûre à Disapora? – JulienFr

Questions connexes