Actualmente he desarrollado un sitio en el que se utiliza para manejar las transacciones financieras. He visto que algunos de mis clientes han hecho ataques de inyección de código JavaScript y han hecho algunas transacciones que no son posibles. Como ejemplo he comprobado su saldo en efectivo antes de realizar el pedido. Pero algunos de ellos hizo el cambio que ejecutando el siguiente código javascript en la barra de direcciones. Que han tomado la varible nombre en código fuente de la página.

javascript:void(document.accounts.cashBalence.value="10000000")

Ya que esto es fundamental, quiero solucionado rápidamente. Entonces, ¿hay una manera de prevenir ataques de inyección de código JavaScript?

Por favor, hágamelo saber en que banco esta es, por lo que puedo…. er, ¿ven? [tos]
¿De verdad? Como se puede manipular el saldo de la cuenta a través de JS en vivo en un sitio financiero?? Amigo. de ninguna manera. Espero que su broma.
Has mirado en Interpolique? recursion.com/interpolique.html
He strted para hacer las validaciones del lado del servidor. Todavía está en fase de pruebas. Gracias por todas sus sugerencias
Mientras que todas las sugerencias que aquí se perfectamente válido en 2010 javascript ahora se pueden ejecutar en el lado del servidor, con NodeJS, y podrás portar tu JS código de validación en el servidor.

OriginalEl autor nath | 2010-10-15

6 Comentarios

  1. 30

    Puede ofuscar o hash de los nombres de las variables y/o valores. Sin embargo,

    No usar JavaScript, hacer toda lógica en el lado del servidor en su lugar.

    +10k ¿Quién podría pensar que dejando crítica de la lógica de negocio hasta la computadora del cliente sin que se comprueba en el servidor es una buena idea?
    Está bien que javascript, pero sólo para la interfaz de usuario de la lógica y la cordura comprobación de cliente. El servidor debe confiar en nada de lo.
    Javascript en sitios de banca está bien, siempre y cuando sólo se utiliza para mejorar la interfaz.
    Hacer llamadas AJAX está muy bien también, mientras el servidor verifica y comprueba la validez de aquellos.
    Decir que algo es fina, siempre que comprobar la validez de lo que estás diciendo. ;o)

    OriginalEl autor

  2. 8

    Al final ni siquiera es un problema de Javascript. El servidor se comunica con el mundo exterior a través de HTTP. Envía los datos usando HTTP y recibe datos a través de HTTP. Cualquier persona puede solicitar datos usando HTTP y que cualquier persona puede enviar datos mediante el protocolo HTTP.

    Pensar acerca de esto otra vez:

    Cualquiera puede enviar los datos al servidor a través de la muy simple protocolo HTTP.

    El HTML y el Javascript que se está enviando a la gente de los navegadores es sólo una buena ayuda, una interfaz, que les permita fácilmente enviar los datos al servidor. Podrían hacer lo mismo con la curl comando en su línea de comandos o por telnet‘ing en el puerto 80 y hablar muy bajo nivel.

    Si su servidor obedece ciegamente cualquier y todos los comandos que se envían sin comprobar su validez, usted tiene de seguridad no alguna. Seguridad y comprobaciones de validez pertenecen al server, no en el lado del cliente de la interfaz. Debido a HTML y Javascript no son la única interfaz para su servidor, ni son en modo alguno susceptible de protección y, por tanto, digno de confianza.

    OriginalEl autor

  3. 7

    Javascript se ejecuta en el navegador del usuario. En última instancia usted no tiene control sobre y no debe confiar en él. Cualquier verificación que hacer en el navegador web es únicamente para la conveniencia del usuario para que puedan ser alertado de los problemas tan pronto como sea posible.

    El backend de código que acepta el pedido debe hacer la autoridad de verificación de usuario en el equilibrio.

    OriginalEl autor

  4. 1

    Ninguna secuencia de comandos del cliente (como Javascript) es bueno para la verificación, Que debe llevarse a cabo en el lado del servidor.

    Es demasiado fiable para confiar en él, especialmente si es para registros financieros!!

    Debe ser utilizado para una mejor experiencia de usuario». La validación del formulario al escribir o lo que sea, pero no esta!

    OriginalEl autor

  5. 0

    Han encontrado que si usted hace esto a que el servidor sólo exceptúa de datos salientes no los datos de entrada que funciona mejor, pero que plantea un problema, si usted está usando un sitio web que toma la entrada del usuario en el cliente conectado, a continuación, su preaty mucho atornillado me sugset un simple script de java línea que, en un sentido que hace a donde antes de enviar cualquier java script tiene que introducir un conjunto básico de variables en un sentido simplemente tener una página de inicio de sesión de inicio con algo como esto

    System.out.printin ("Welcome, Would you like to login to edit?")

    Entonces { Sistema.en = «Yes»}

    OriginalEl autor

  6. -2

    Para evitar la inyección de Javascript, usted debe tener un Característica de Validación de cuando usted permite que el usuario escriba algo. Trate de usar las bibliotecas que determinan scripts de Javascript que se introducen en el formulario.

    También cuando se muestren las entradas de usuario, usted debe Escapar de Textos para que se muestre como es y no será evaluado por el navegador.

    Utilizar su servidor, usted debe colocar su lógica de negocios para el servidor y no del cliente si el uso de Javascript o no. Todos los datos enviados al cliente son sólo la vista y no debe procesar cualquier lógica de negocio.

    Él dijo que la gente manipulada Javascript introduciendo fragmentos de código en la barra de direcciones (mismo como el uso de la consola de Javascript), sus consejos no ayuda allí.

    OriginalEl autor

Dejar respuesta

Please enter your comment!
Please enter your name here