Redirección de HTTP a HTTPS, ¿puedo evitar revelar la URL?

1

Sí, otra pregunta sobre la redirección de HTTP a HTTPS. Pero este habla de una situación bastante peculiar.

Esta es una pregunta de seguimiento en Seguridad de una redirección inicial de http://example.com a https://example.com y Enlace desde una página Http a una página Https: ¿es un problema de seguridad? . Después de leer los dos, me preocupé por un pequeño truco que uso para prevenir:

  1. Los problemas descritos en la primera pregunta.
  2. Regalar las URL a las que accede el usuario.

Mi propósito original con este truco fue porque una URL del formulario http://example.org/article/<hash>/some-country-does-something-bad/ regresando

HTTP/1.1 301 Moved Permanently
Location: https://example.org/article/<hash>/some-country-does-something-bad/

Regala la información de que este artículo existe realmente en la página.

En cambio, devuelvo esto (más o menos, con toda la hinchazón eliminada):

HTTP/1.1 404 Not Found

<!DOCTYPE html>
<html>
<head></head>
<body>
    Please visit the page securely at
    <a href="https://example.org">https://example.org</a>.
</body>
</html>

Pero ahora soy vulnerable a SSLstrip. Bummer.

Notas:

  • Realizo esto porque la mayoría de la página está disponible a través de HTTP, pero no hay contenido confidencial.
  • No puedo cambiar la página completamente a HTTPS porque los anunciantes (la fuente de ingresos, por lo que es muy importante) no admiten TLS .
  • No uso HSTS.
  • Nunca configuré cookies en HTTP, y todas las cookies están marcadas como secure .
  • El <hash> es en realidad sha1 del contenido del artículo, a menos que tenga un enlace que simplemente no pueda escanear URL aleatorias.
  • Los usuarios (bueno, la mayoría de ellos) son lo suficientemente inteligentes como para entender que necesitan cambiar la URL a mano.

Pregunta

¿Puedo deshacerme del problema SSLstrip? O, tal vez, ¿hay una mejor manera de realizar esto?

(Probablemente hay una mejor manera, esto es terriblemente intrépido, pero no podría pensar en una forma más inteligente de hacer que funcione)

    
pregunta grochmal 29.08.2016 - 00:01
fuente

1 respuesta

4

Si necesita protegerse contra un MITM, entonces https + HSTS completo es la única manera de hacerlo.

Con respecto a la redirección 301 que indica que el artículo existe, no es realmente cierto. La redirección puede (y generalmente ocurre) antes de que se realicen acciones adicionales en la solicitud. Si el artículo no existe, puede enviar la respuesta 404 después de la redirección.

    
respondido por el GnP 29.08.2016 - 01:11
fuente

Lea otras preguntas en las etiquetas