Pruebas de penetración de aplicaciones de Silverlight

4

¿Cuál sería el proceso para pentesting una aplicación de Silverlight? ¿Cuál sería el mejor método para proceder en una prueba manual? ¿Alguna herramienta específica de uso? Por ejemplo, una aplicación con mucha carga de archivos, campos de entrada de usuario y conectividad de base de datos (con y sin ORM).

    
pregunta Epoch Win 09.11.2011 - 17:58
fuente

1 respuesta

7

Si está revisando el código, le recomendaría que utilice las Pruebas unitarias de Microsoft Visual Studio (consulte enlace y enlace ) o Nant para probar el código. Sería la forma más efectiva de realizar este tipo de pruebas.

Si no tiene acceso al código fuente y necesita hacer pruebas externas / ciegas, debe cubrir las siguientes pruebas de aplicaciones web normales anteriores.

Cobertura

En Silverlight, normalmente hay 3 áreas que deben probarse por encima de una aplicación web normal:

  1. Enlace profundo
  2. Almacenamiento aislado
  3. servicios de back-end

Deep Linking

Pruebe las fallas en el flujo, particularmente la autorización y la entrada de datos.

Permite el acceso directo a una página dentro de Silverlight y podría permitir eludir la seguridad, como la autorización, si las comprobaciones de autorización solo se realizan en puntos específicos.

Por ejemplo: una aplicación solo verifica la autorización en o justo después de la pantalla de inicio de sesión, pero la aplicación está muy vinculada para permitir el acceso directo a los datos de lectura / escritura.

Almacenamiento aislado

Igual que cualquier prueba de almacenamiento de datos, sin embargo, la nota especial es que es el almacenamiento del lado del cliente.

Preguntas como:

  1. ¿Qué se puede almacenar en un almacenamiento aislado?
  2. ¿Qué se puede anular en el almacenamiento aislado? Por ejemplo, ¿la aplicación ha almacenado archivos que el usuario puede anular?
  3. ¿Cómo se presenta eso al usuario?

Servicios de backend

En los casos de uso de aplicaciones web, Silverlight normalmente formará el nivel superior / front-end y un servicio web de fondo será responsable de algún tipo de manejo / almacenamiento de datos.

Debido a que Silverlight es un servicio web de tecnología del lado del cliente, si existen, están expuestos al cliente, lo cual es diferente a la aplicación web del lado del servidor habitual, que puede que no necesite exponerlos en absoluto.

Los servicios web deben probarse de forma agresiva utilizando herramientas manuales y automatizadas. Las pruebas normales de tipo de contenido, restricciones de tamaño y rendimiento son importantes. También algunos fuzzing también serían buenos. Todo esto recurre a los servicios web genéricos que no son específicos de Silverlight.

Herramientas

El Silverlight Spy de First Floor puede ayudar a investigar los problemas de almacenamiento aislados: enlace

A veces también es útil revisar el código xbap de la aplicación usando ILSpy o .Net Reflector: enlace

Prueba estos para servicios web:

¿Existen herramientas para ¿Pruebas automatizadas de penetración de aplicaciones Silverlight?

enlace

Espero que esto ayude.

    
respondido por el Bernie White 09.11.2011 - 22:40
fuente

Lea otras preguntas en las etiquetas