2011-02-12 12 views
5

Tuve una conversación con mi colega sobre la seguridad de Flash. Estamos en la fase de planear algunas cosas para nuestro proyecto web que está usando el complemento Flash para mostrar contenido. Necesitamos extraer dinámicamente la configuración de la aplicación Flash del servidor, usando JSON.Embedded Flash Security

La propuesta que ofrecí fue que deberíamos guardar una solicitud HTTP adicional para extraer el archivo de datos después de cargar el complemento e incrustar el JSON directamente en la página que contiene el complemento Flash. Flash lanzaría una función de Javascript que le devolvería los datos JSON deserializados.

Mi colega se opuso a esta propuesta con importantes "preocupaciones de seguridad".

Creo que hay literalmente cero diferencia entre estos dos enfoques además del hecho de que su enfoque requiere una solicitud HTTP adicional. Todo esto es cliente/servidor y nunca se debe confiar en el cliente. Si deseo cambiar los datos que están en la consulta JSON, puedo hacerlo en ambos casos. Sin embargo, la extracción de archivos es un poco más difícil de hackear, pero es posible con un proxy HTTP personalizado.

¿Cuáles son sus pensamientos?

+0

mi único pensamiento a añadir es que el flash podría ser utilizado para ejecutar una función de javascript que hace más que solo obtener configuraciones ... – jswolf19

+0

@ jswolf19 el mismo problema existe con solo js sin embargo, y mientras el swf y todos los contenidos cargados estén en control de Napalm no hay peligro de que flash ExternalInterface sería subvertido. @ Napalm: Creo que las objeciones de su colega provienen del hecho de que si inserta el json en la página, le facilita a alguien ver su estructura de datos, estudiarla y determinar cómo atacarlo maliciosamente. El problema es que su método no es inmune a esto, simplemente significa que el pirata informático tendría que examinar los registros de tráfico con firebug o charles para obtener los mismos datos. Trivial. – scriptocalypse

+0

@scriptocalypse, soy consciente de que el mismo problema existe con simplemente js, pero si el programa flash está incrustado en otra página, tal vez una que remeda la página de Napalm, entonces no estoy seguro de cómo funcionaría la interacción ... dicha página puede, por ejemplo, establecer cookies en el dominio de Napalm? No estoy lo suficientemente familiarizado con la forma en que se hace la seguridad para decir algo con seguridad. – jswolf19

Respuesta

1

si realmente se preocupan mucho acerca de la entrega de la configuración original de la .swf:

  • no use http - HttpFox es un brillante complemento - utilizar un servidor que soporta RTMP/RTMPE y NetConnection.call() a recuperar los datos.

  • crea un algoritmo para validar json original para que tu aplicación no funcione si la configuración no pasa la prueba.

  • después de cargar la configuración de su swf podría comprobar los valores con el servidor (no todos a la vez) y un error si algo va mal

2

No hay diferencia. Ambos pueden ser fabricados.