2011-06-13 1 views
2

Si j'ai cette page dans "http://example.com/login" avec verbe GET:De HTTP à HTTPS, le plus tôt sera le mieux?

<form action="https://example.com/login" method="post"> 
    <input type="text" name="login"/> 
    <input type="password" name="pass"/> 
    <input type="submit" value="Login"/> 
</form> 

Est-ce une faille de sécurité? Je veux dire, la page est HTTP mais lors de l'envoi des données, elle utilise HTTPS. J'ai lu plusieurs fois que je devrais déjà exiger HTTPS dans la page de connexion, mais je ne vois pas clairement pourquoi.

Répondre

7

Oui, c'est défectueux. Ce que vous avez est sûr aussi loin que possible tant que c'est votre formulaire de connexion que l'utilisateur voit. Parce que votre formulaire de connexion n'est pas sécurisé, je peux remplacer mon propre formulaire de connexion par usurpation d'identité et collecter les informations de connexion de vos utilisateurs, par exemple. via une attaque man-in-the-middle. Un système de connexion n'est sécurisé que si le formulaire de connexion et la page cible utilisent le protocole SSL.

En outre, il ne semble pas sécurisé pour l'utilisateur. Les utilisateurs recherchent le symbole du cadenas sur le formulaire de connexion, et le vôtre n'en a pas.

+1

Eh bien, il semble que vous ayez changé radicalement d'avis. :) – Gumbo

+1

@Gumbo: J'ai répondu sans engager mon cerveau, puis corrigé moi-même. Normalement, j'essaie d'engager mon cerveau avant de répondre, mais je suis sous-caféiné ce matin. :-) – RichieHindle

+0

Ca a du sens, merci! – vtortola

5

Oui, c'est un défaut de sécurité.

Étant donné que le formulaire est servi sur HTTP, il est susceptible d'être modifié en cours de route. Cette modification peut être, par exemple, l'ajout de JavaScript qui envoie les informations d'identification à un serveur contrôlé par l'attaquant, ainsi que le fait que le navigateur se connecte normalement.

+1

@Quentin, donc vous dites que Twitter a un défaut de sécurité dans son processus de connexion? Parce qu'il utilise exactement la même chose: twitter.com est servi sur HTTP et le formulaire de connexion situé sur sa page d'accueil utilise HTTPS (sauf qu'il utilise POST au lieu de GET mais cela n'a pas vraiment d'importance) –

+2

Oui, bien qu'ils fournissent aussi la forme sur https, il est donc possible d'éviter le problème si vous êtes prudent. – Quentin

+1

@Quentin, je ne suis pas sûr de vous avoir compris. Le formulaire est présent sur twitter.com qui est servi sur HTTP. En quoi est-ce différent du scénario PO? Je ne suis pas persuadé avec votre explication. –