Question

J'essaie de savoir quel algorithme l'application client utilise pour retourner la clé de session.

Quand j'Etablissez une connexion, le serveur envoie d'abord une clé de session unique. Le client doit alors répondre par un mot de passe crypté ou envoyer et haché avec le nom d'utilisateur au serveur.

trace réseau d'échantillon entre le client et le serveur: (nom d'utilisateur: serv1ce / mot de passe: test12)

App reçue du serveur << 52 d7 1c 3f 9F 2c 05 c9 (une clé de session temps)
App envoyée au serveur >> 11 83 2d 7d ff 0c 51 8c 45 52 56 53 31 43 45 20

"53 45 52 56 31 43 45 20" partie est le nom d'utilisateur en texte clair en tant que valeurs d'octets (de serv1ce).

Quelqu'un sait comment les octets "11 83 2d 7d ff 0C 51 8c" ont été créés avec le mot de passe 'test12' et la clé de session 64bit (de 8 octets) "52 d7 1c 3f 9F 2c 05 c9"?

Était-ce utile?

La solution

S'ils utilisent un hachage cryptographique sécurisé, en principe, de l'entrée et de sortie vous ne devriez pas être en mesure de découvrir cela.

En pratique, ils retournent 8 octets, soit 64 bits, ce qui suggère qu'ils utilisent une variante de MD5. Si elles suivent la pratique typique, ils sont susceptibles d'avoir créé une grande chaîne de caractères qui comprend une combinaison du nom d'utilisateur, mot de passe, la clé de session, et un hachage secrète, haché puis. (Notez que je l'ai dit la pratique typique, pas les meilleures pratiques. La meilleure pratique est d'utiliser quelque chose de lent à calculer à cet effet, un tel bcrypt.) Si vous figurez la combinaison magique, vous avez la réponse.

Vous avez deux approches décentes. Le plus simple est la recherche de la force brute. Si vous recherchez md5 gpu cracking vous pouvez trouver beaucoup d'outils qui vous permettent débarquez calculs MD5 à votre carte vidéo. Elles sont idéales pour la recherche de la force brute, et peut vous faire essayer un numéro étonnant de variations sur le thème ci-dessus assez rapidement. (La faisabilité de cette attaque est la raison pour laquelle les gens devraient utiliser bcrypt pour ce genre de choses.)

L'autre est que vous avez l'application. Il existe différentes façons de retracer ce qui se passe réellement à l'intérieur de l'application comme il le fait que le calcul. Réussir à comprendre que, et vous aurez la réponse.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top