J'ai lu un tas de choses en disant que l'un des inconvénients de l'utilisation du magasin de cookies dans une application Rails est que le client peut voir les données de cookie. Cependant, j'ai regardé les données de cookie et il est chiffré. Est-il relativement facile de déchiffrer les données de cookie?Est-ce facile de cracker un cookie créé par CookieStore à partir d'une application Rails?
Répondre
La banque de cookies par défaut dans Rails n'est pas cryptée, elle est codée en Base64. L'encodage Base64 est simplement un moyen de représenter des données binaires en ASCII, et ne devrait pas être considéré comme un "cryptage" par un quelconque effort d'imagination; n'importe qui peut le décoder.
Les données de session stockées sont signées en utilisant les informations ci-dessous que vous avez configurées dans votre fichier config.rb.
Rails::Initializer.run do |config|
config.action_controller.session = {
:session_key => '_store_session',
:secret => '851939c37d94574e284ded8437d4ea3447dae24cc5bda61d8eaf2731d49273bc4c620'
}
end
Alors que ce n'est pas facile à lire, ce n'est pas impossible avec suffisamment de temps et d'effort.
Voici un tas de liens qui traitent longuement de ce problème, mais le consensus général est qu'il ne s'agit pas d'une implémentation imparfaite et que vous ne devriez rien stocker dans la session qui soit trop critique.
- http://blog.thinkrelevance.com/2008/1/27/rails-the-cookie-store-and-security
- http://railscasts.com/episodes/84-cookie-based-session-store
- http://www.caboo.se/articles/2007/2/21/new-controversial-default-rails-session-storage-cookies
- http://www.technicalinfo.net/papers/WebBasedSessionManagement.html
- http://www.quarkruby.com/2007/9/20/ruby-on-rails-security-guide#sessions
Les données côté client ne sont pas cryptées, elles sont signées avec la clé secrète. Grande différence. La signature signifie que le client peut vérifier si les données du cookie ont été falsifiées (si elles ont été modifiées, la signature ne correspondra pas), mais cela n'empêche personne qui intercepte les données de cookie de pouvoir le lire. –
un bon article de carsonified.com sur les cookies sécurisés: http://carsonified.com/blog/dev/how-to-create-totally-secure-cookies/ –
Il faut savoir que les rails < 1.2.6 a souffert d'une vulnérabilité session fixation rend facile voler ID/session de quelqu'un d'autre
Rails 1.2.4 Release Notes http://weblog.rubyonrails.org/2007/10/5/rails-1-2-4-maintenance-release
Rails 1.2.6 Notes de http://weblog.rubyonrails.org/2007/11/24/ruby-on-rails-1-2-6-security-and-maintenance-release
CVE-2007-5380 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-5380
CVE-2007-6077 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-6077
- 1. Un moyen facile d'exécuter une application ASP.Net à la maison?
- 2. Rails - Domaines de cookie dynamiques utilisant Rack
- 3. Récupérer cookie créé en utilisant javascript en python
- 4. Appel de l'application à partir de rails
- 5. Exportation de données par programme à partir d'une application
- 6. Test de l'effacement des valeurs de cookie dans Rails?
- 7. La valeur de cookie ASP.NET_SessionId n'autorise pas plusieurs connexions à la même application Web à partir du même ordinateur.
- 8. Parcourez chaque élément récemment créé dans Rails?
- 9. Partage de session cookie Rails et problème "www.example.com" ou "example.com"
- 10. Fil d'Ariane facile pour l'application RESTful rails
- 11. Lecture d'un cookie à partir d'un service Web RESTful WCF
- 12. Type d'objet créé par ListCollectionView.AddNew
- 13. Accès aux données spatiales PostGIS à partir de Rails
- 14. Application Silverlight demandant un fichier à partir d'un service WCF
- 15. Comment puis-je passer un cookie d'authentification à un service de données ADO.NET dans Silverlight
- 16. Affichage du contenu dynamique dans un cadre contrôlé par l'arbre XML créé à partir dans un autre cadre
- 17. Un moyen facile de voir SQL généré par ActiveRecord.Save()?
- 18. Cookie ne sont pas envoyées par IE7
- 19. Ecriture d'un cookie à partir d'un objet ASP.Net HTTPHandler - Page.Response?
- 20. Vous apprenez à créer une application Rails à partir de zéro?
- 21. Modifiez-vous un jeton d'authentification pour un utilisateur authentifié par cookie? Si oui, à quelle fréquence?
- 22. Ruby on Rails 2.1 Problèmes de sous-domaine-cookie
- 23. Ajouter un cookie à une requête SOAPpy
- 24. Ecriture d'un cookie à partir d'une classe statique
- 25. Comment faire pour définir un cookie sur un domaine distinct dans Rails
- 26. Upcasting F # enregistrement créé par la réflexion
- 27. Connexions Oracle à partir d'une application COM +
- 28. Est-ce que quelqu'un a créé une application Rails avec support pour Jquery-ui & Thèmes
- 29. Test d'une application PHP par un serveur
- 30. Existe-t-il un moyen de lire le cookie du navigateur à partir d'une applet Java?
ah , c'est le ticket. – Tony