¿Es peligroso mostrar todas las funciones de JavaScript en mi aplicación web? [duplicar]

11

Ahora mismo estoy desarrollando una aplicación web y usa muchas funciones de JavaScript, así que las estoy poniendo a todas en diferentes archivos JS para acceder desde el HTML, pero las funciones son "fáciles de leer" para que el atacante sepa ¿Qué está pasando con la aplicación?

Mi pregunta es: ¿es peligroso que el atacante conozca todas las funciones de JavaScript y todos los estilos (efectos) de CSS? Si esto es cierto, ¿existe una buena solución para esto?

Sé que puedo minimizar el JavaScript pero de todos modos esto solo hará que el hacker se enoje ...

    
pregunta NathanWay 05.04.2015 - 06:40
fuente

3 respuestas

35

Para expresarlo más directamente:

  

¿Es peligroso que el atacante conozca todas las funciones de JavaScript y todos los estilos (efectos) de CSS?

No, no es inherentemente peligroso para un atacante ver JS y CSS. Después de todo, el atacante o cualquier otro cliente debe poder ver estos archivos para que la aplicación funcione en absoluto.

Es su trabajo diseñar su aplicación para que un atacante que tenga acceso completo al código HTML, CSS y Javascript aún no pueda ejecutar un ataque (ya sea un ataque en el servidor o un "cliente- lado "explotar como la falsificación de solicitud de sitios cruzados). Es más fácil decirlo que hacerlo, por supuesto, pero ese es el objetivo.

En realidad, una buena seguridad significaría diseñar su aplicación de modo que un atacante que tenga acceso completo (solo lectura) a HTML, CSS, JS, los scripts del lado del servidor, el código fuente del servidor web, y la configuración del sistema todavía no pudo realizar un ataque. Los atacantes pueden, en general, tener acceso a todas estas cosas. Pero en la práctica, puede tomar medidas para ocultar la configuración del lado del servidor y el código fuente, y ralentizará a alguien que no esté suficientemente determinado. No puede ocultar HTML / CSS / JS y aún esperar que la aplicación web funcione.

    
respondido por el David Z 05.04.2015 - 08:16
fuente
18

Si el atacante puede realmente hacer algo malintencionado simplemente explorando casualmente el contenido de los archivos que se les proporcionan, entonces tiene problemas más graves que los archivos de fácil lectura.

En mi opinión, deberías tener algo más fuerte que solo seguridad por oscuridad. Sin embargo, si quieres hacer que tu js sea más difícil de leer, puedes intentar minimizarlo y ocultarlo.

    
respondido por el Cyrus Roshan 05.04.2015 - 07:04
fuente
0

Depende de cómo maneje las solicitudes de ajax. Si tiene una función ajax que manipula la base de datos y está programada para hacer "cualquier cosa que alguien le diga", entonces es un agujero de seguridad, ¡porque cualquiera puede decirle a una función ajax que haga algo! Es su deber verificar quién da la orden o si la orden es válida. ofuscar el código no soluciona nada una persona todavía puede saber qué botón llama a qué función. un atacante puede encontrar FÁCILMENTE eventos manejados para un botón de eliminar o actualizar.

también, su pregunta es defectuosa porque no puede ocultar javascript en su aplicación web. Simplemente no es tu elección. Cualquiera que visite tu página tiene acceso a todos los archivos javascript vinculados.

    
respondido por el Uğur Gümüşhan 05.04.2015 - 12:28
fuente

Lea otras preguntas en las etiquetas