web-dev-qa-db-fra.com

Sslstrip fonctionne-t-il uniquement sur les sites Web qui utilisent à la fois HTTP et HTTPS?

L'attaque sslstrip fonctionne-t-elle uniquement sur les sites Web qui utilisent à la fois HTTP et HTTPS? Le Quora un commentateur dit que:

Une chose à noter est que la bande SSL ne fonctionne que sur les sites Web qui utilisent à la fois HTTP et HTTPS. Par exemple, Ebay, où la page principale est sur HTTP, mais ensuite elle est transférée vers HTTPS pour la connexion, l'achat, etc. Afin de se défendre contre ces attaques, il est conseillé d'utiliser SSL sur l'ensemble du site, c'est-à-dire de n'utiliser que HTTPS et non HTTP. Une autre façon utilise HSTS (Strict Transport Security), cela commandera au navigateur de se connecter uniquement via HTTPS et jamais via HTTP.

Mais je sais que Google n'utilise pas à la fois HTTP et HTTPS; ils utilisent simplement HTTPS et utilisent également l'en-tête HSTS contre les attaques sslstrip. Est-ce à dire que le commentaire ci-dessus est faux? Je veux dire, une attaque SSLStrip est-elle toujours possible contre un site Web qui utilise uniquement HTTPS?

7
Hasan

La réponse:

Prenons un scénario dans lequel il y a une machine victime (A), une machine attaquante (B) et un serveur (C). La bande SSL s'exécute sur la machine attaquante, qui est un serveur proxy. Par conséquent, il n'y a pas de connexion directe entre la victime et le serveur.

La victime A souhaite transférer de l'argent de son compte à l'aide d'un service bancaire en ligne et saisit l'URL suivante dans la barre d'adresse du navigateur:

www.foobank.com/online_banking

En arrière-plan, le navigateur de la victime connecté à la machine de l'attaquant attend la réponse du serveur. L'attaquant B transmet la demande de la victime A et attend la réponse du serveur bancaire. La connexion entre B et C est sécurisée, ce qui signifie que tout le trafic qui est transféré entre eux (B & C) passe par le tunnel SSL.

Le serveur bancaire répond avec la page de connexion qui a l'URL suivante:

https://www.foobank.com/online_banking

À ce stade, l'attaquant a accès à la page de connexion. Ensuite, l'attaquant (B) modifie la réponse du serveur de https à http et l'envoie à la victime (A), ce qui entraîne que le navigateur est désormais adressé à http://www.foobank.com/online_banking .

À ce stade, la victime a accès à la page de connexion à Internet Banking avec une connexion non sécurisée avec l'attaquant. À partir de ce moment, toutes les demandes de la victime sont envoyées au format texte brut et l'attaquant peut renifler les données et collecter les informations d'identification.

Le serveur pense avoir réussi à établir la connexion, qui dans ce scénario se situe entre l'attaquant et le serveur (c'est-à-dire entre B et C), tandis que la victime (A) pense également qu'il s'agit d'un serveur légitime (C).

Donc

SSLStrip ne dépend pas du comportement du serveur, il dépend du client. Si vous pouvez demander au client de faire la demande via HTTP, au lieu de HTTPS, vous pouvez effectuer l'attaque, même si le serveur ne prend en charge que HTTPS. HSTS empêche le navigateur d'exécuter la requête HTTP simple en premier lieu (sur les requêtes suivantes).

Conclusion:

Google utilise uniquement HTTPS et utilise l'en-tête HSTS contre les attaques SSLStrip. Parce que les attaques SSLStrip peuvent se produire même si le serveur Web utilise uniquement HTTPS.

Ressource: https://avicoder.me/2016/02/22/SSLstrip-for-newbies/

0
Hasan

SSL Strip ne fonctionne que sur les sites Web qui utilisent à la fois HTTP et HTTPS.

Ce n'est pas exact, car cela implique de désactiver la prise en charge HTTP contre l'attaque.

Le fait est que sslstrip intervient lorsque l'utilisateur demande d'abord un site via HTTP simple. Il s'agit de la façon dont le navigateur tente de se connecter au serveur, et non de ce que le serveur prend en charge. Vous n'êtes en sécurité que si le navigateur n'essaie pas du tout de connexion HTTP simple (à cause d'une directive HSTS qu'il a vue plus tôt ou parce que le site Web est dans le navigateur liste de préchargement HSTS ).

Je veux dire, une attaque SSLStrip est-elle toujours possible contre un site Web qui utilise uniquement HTTPS?

Oui. Disons https://yourbank.example/ ne sert rien sur HTTP simple. Maintenant, je vous envoie un lien vers http://yourbank.example/ en tous cas. Lorsque votre navigateur tente de répondre à la demande, j'utilise sslstrip pour l'intercepter et répondre avec un site de phishing. Comme vous le voyez, ce n'est pas pertinent si le site d'origine aurait servi du contenu sur HTTP simple car je ne transmets pas la demande de toute façon.

23
Arminius

Sslstrip nécessite que la connexion entre le client et l'instance sslstrip se fasse via HTTP simple. La connexion de sslstrip au serveur peut être HTTP et HTTPS.

Cela signifie que si le client demande d'abord le site avec HTTP simple, sslstrip fonctionne. Si, à la place, les clients commencent déjà avec HTTPS car il sait que le site n'est accessible que par HTTPS ou si le navigateur applique HTTPS en raison d'une stratégie HSTS (préchargée ou lors de visites antérieures), alors sslstrip ne fonctionnera pas.

4
Steffen Ullrich