¿El modo 'ver-fuente' del navegador evita los ataques de secuencias de comandos?

28

Digamos que hay una URL www.badjs.com que no es confiable y puede contener scripts incorrectos.

De forma intuitiva, una navegación view-source a esa URL no ejecuta ningún script, por lo que debería ser seguro. Al menos me permitiría inspeccionar la fuente de manera segura.

Pero la intuición es una forma terrible de sacar conclusiones sobre temas de seguridad, por lo que mi pregunta es:

¿Es view-source una forma segura de ver un sitio web desde una perspectiva de inyección de scripts js?

    
pregunta tohster 29.03.2015 - 18:29
fuente

3 respuestas

33

Sí, es absolutamente seguro (en Google Chrome) abrir un sitio web que no sea de confianza en el modo view-source . El punto clave a tener en cuenta aquí es que debe "abrir" la página en modo view-source , lo que significa que no debe permitir que ocurra ninguna representación al cargar la página web primero y luego ver la fuente.

Un ejemplo en Google Chrome sería view-source:http://www.badjs.com/

Por diseño, Google Chrome iniciará una nueva solicitud GET en el servidor y le proporcionará al navegador del cliente la versión sin procesar de la página web cuando esté en modo view-source .

También puedes usar una extensión de No-Script o un complemento para tu navegador específico para evitar ataques de secuencias de comandos.

    
respondido por el Joseph 29.03.2015 - 18:40
fuente
22

Si bien actualmente está seguro en Chrome, no debes basar tus futuras comprobaciones en eso. Las cosas pueden cambiar en cualquier momento y no veo que la falta de representación sea una característica específicamente documentada.

Si desea ver el código, es mucho mejor descargar la página a través de una herramienta de línea de comandos ( curl para instancia) y analizar lo que se cargó y guardó en un archivo. Esto también tiene el valor agregado de probar fácilmente varias páginas que posiblemente se sirvan en respuesta a diferentes Agentes de usuario.

    
respondido por el WoJ 30.03.2015 - 12:23
fuente
0

Si bien no hay nada de malo en que las otras respuestas digan que actualmente es seguro, hay un posible malentendido. Usted dijo que quería usarlo para verificar si un sitio es seguro, por lo que probablemente cargará una página normalmente después de que no haya encontrado contenido malicioso al ver la fuente. Si esto es cierto, debe tener en cuenta que los sitios web pueden detectar (o al menos inferir) que está utilizando view-source: . No solo, al menos en Firefox, no utiliza el caché, lo que hace que se cargue la página por segunda vez, sino que no carga otros recursos. Si un sitio ve que alguien con un agente de usuario de navegador regular se conecta pero no carga otros recursos, puede inferir que el usuario está verificando la fuente. Es sencillo automatizar esta detección y solo sirve JavaScript malicioso desde un recurso en el caso de que se cargue junto con el resto de la página. Esto ocultaría su presencia de su inspección de la fuente, a pesar de que el sitio web sigue brindándole JavaScript malicioso.

Una posible solución sería utilizar el elemento Inspeccionar, que mira la página actualmente abierta y permite leer la fuente. Esto es mucho más difícil de detectar (aunque no imposible, ya que CSS puede determinar el tamaño de la ventana del navegador, que se reduce en una cantidad específica cuando el elemento de inspección está abierto). Inspeccionar Elemento es más complejo, y puede ser más explotable que view-source: , por lo que debe aplicar un modelo de amenaza en esta situación.

    
respondido por el forest 21.12.2017 - 07:00
fuente

Lea otras preguntas en las etiquetas