Certains pirates de voler le cookie de l'utilisateur et se connecter avec son nom sur un site web?
La lecture de cette question
les différents utilisateurs à obtenir la même valeur de cookie dans aspxanonymous
et de trouver une solution, je commence à penser, si c'est possible pour quelqu'un de vraiment voler le cookie d'une certaine façon, et puis le placer sur son navigateur et connectez-vous permet de dire que l'administrateur de.
Savez-vous comment la forme d'authentification peut garantir que, même si le cookie est stoled, le hacker ne pas se connecter à l'aide ?
Ou connaissez-vous d'autres automatique mécanisme de défense ?
Je vous remercie à l'avance.
- Question similaire: stackoverflow.com/questions/3720720/...
Vous devez vous connecter pour publier un commentaire.
Oui c'est possible, si les Formes Auth cookie n'est pas chiffré, quelqu'un pourrait pirater le témoin de leur donner des privilèges élevés ou si SSL n'est pas besoin, copie de quelqu'un d'une autre personne cookie. Cependant, il ya des étapes que vous pouvez prendre pour atténuer ces risques:
Sur le système.web/authentification/les formes de l'élément:
Si vous le vouliez, vous pourriez ajouter un petit peu de protection en mettant certains de tri des informations d'authentification dans la Session comme une table de hachage de l'utilisateur nom d'utilisateur (Jamais le nom d'utilisateur en texte clair, ni leur mot de passe). Cela nécessiterait l'attaquant de voler à la fois le cookie de Session et les Formulaires d'Authentification par cookie.
Le scénario où un cookie peut être volé qui se passe dans un lieu public sans fil de l'environnement. Alors que vous ou moi n'auraient jamais fonctionner dans une telle configuration, il peut être impossible de prévenir vos clients de le faire.
Si l'attaquant sait ce qu'site sécurisé vous êtes connecté, l'idée est que votre navigateur peut être trompé en postant une non-secure version de la même url. À ce moment, le cookie est compromise.
C'est pourquoi en plus de
httpOnlyCookies
vous aurez envie de spécifierrequireSSL="true"
Je suis en désaccord avec La Tour du commentaire, que je trouve injuste;
De sécurité n'arrive pas par accident et qu'il n'arrive pas, tout droit sorti de la boîte", au moins pas dans mon expérience. Rien n'est sûr jusqu'à ce qu'il est destiné à l'être, quelle que soit la plateforme ou les outils.
Dans beaucoup de cas, les cookies utilisés à des fins d'authentification sont jumelés avec une session sur le serveur, il n'est donc pas possible de prendre un cookie et être "connecté", cependant, vous pourriez vouloir avoir une lecture sur le cross site request forgeries, qui ne permettent qu'un mécanisme de ce cookie est utilisé à des fins malveillantes:
http://en.wikipedia.org/wiki/Cross-site_request_forgery
Il existe de nombreuses façons qu'un id de session peut être divulgué à un attaquant. XSS est l'attaque la plus courante pour pirater un ID de Session et vous devriez test de vulnérabilités XSS dans votre application. . Une méthode commune de l'amélioration de la force d'une séance est de vérifier l'adresse IP. Lorsque l'utilisateur se connecte, enregistrement de l'adresse ip. Vérifiez l'adresse IP de chaque demande, si l'adresse IP change, alors c'est probablement un détournés de la session. Cette security mesure pourrait empêcher les demandes légitimes, mais qui est très peu probable.
Ne pas vérifier le X-Forwarded-For User-Agent, ses trivial pour un attaquant de modifier ces valeurs.
Je recommande également l'activation httpOnlyCookies dans votre site web.fichier de configuration:
Cela rend plus difficile pour un attaquant de détourner une session avec le javascript, mais sa reste possible.
Je ne connais pas les spécificités du cookie en question, mais il est généralement une mauvaise pratique de stocker à la fois le nom d'utilisateur et mot de passe dans un cookie utilisateur. En général, vous voulez seulement de stocker le nom d'utilisateur dans le cookie, le long de avec d'autres des renseignements non sensibles. De cette façon, l'utilisateur est invité à fournir leur mot de passe lors de la connexion.
Je suis en train de travailler sur ce sujet, et je suis venue avec une idée, que je ne suis pas sûr si c'est sûr à 100%, mais c'est une idée.
Mon idée est que chaque utilisateur doit passer de la page de connexion.
Si quelqu'un a volé le témoin, est de ne pas passer à la page de connexion, mais c'est d'aller direct à l'intérieur pour le reste des pages. Il ne peut pas passer à la page de connexion, parce que ne sais pas vraiment de mot de passe, donc si il passe il de toute façon ne.
Donc je place un supplément de valeur de session, l'utilisateur ont été passer avec succès à la page de connexion.
Maintenant à l'intérieur de chaque page essentielle, je vérifie que le surplus de valeur de session et si trouvé ça nul, j'ai login et demander à nouveau le mot de passe.
Maintenant, je ne sais pas, peut-être que tout ce que fait tous les prêts par microsoft, besoin de vérifier plus de.
Pour vérifier cette idée, j'utilise cette fonction que direct font de l'utilisateur connecté.
Mon deuxième de sécurité que j'ai tout prêt fixer et d'utiliser, c'est que j'ai vérifier les adresses ip différentes et ou autre cookie à partir de la même utilisateur connecté. J'ai fait beaucoup penser à cela, de nombreux contrôles (si c'est derrière un proxy, si c'est à partir de différents pays, ce qui est de regarder pour, combien de fois je dois le voir, etc...) mais c'est l'idée générale.
Cette vidéo montrer exactement ce que je cherche à éviter. En utilisant l'astuce, j'ai à décrire ici, vous ne pouvez pas définir le cookie de connexion uniquement.
Juste partager mes idées...