Test di penetrazione Applicazioni Silverlight

4

Quale sarebbe il processo nel pentesting di un'applicazione Silverlight? Quale sarebbe il metodo migliore per procedere in un test manuale? Usano strumenti specifici? Ad esempio un'applicazione con molto upload di file, campi di input dell'utente e connettività di database (con e senza ORM).

    
posta Epoch Win 09.11.2011 - 17:58
fonte

1 risposta

7

Se esegui la revisione del codice, ti consigliamo di utilizzare i test delle unità Microsoft Visual Studio (consulta link e link ) o Nant per testare il codice. Sarebbe il modo più efficace per fare questo tipo di test.

Se non hai accesso al codice sorgente e hai bisogno di eseguire test esterni / ciechi, dovresti coprire i seguenti test di applicazioni Web precedenti.

Copertura

In Silverlight ci sono in genere 3 aree che devono essere testate sopra e sopra una normale applicazione web:

  1. Deep linking
  2. Archiviazione isolata
  3. Servizi di back-end

Link diretto

Verifica i difetti nel flusso, in particolare l'autorizzazione e l'immissione dei dati.

Consente l'accesso diretto a una pagina all'interno di Silverlight e potrebbe consentire di bypassare la sicurezza, ad esempio l'autorizzazione se i controlli di autorizzazione vengono eseguiti solo in punti specifici.

Ad esempio: un'applicazione controlla l'autorizzazione solo dopo la schermata di accesso, ma l'applicazione è collegata in profondità per consentire l'accesso diretto ai dati di lettura / scrittura.

Spazio di archiviazione isolato

Come per tutti i test di archiviazione dei dati, la nota speciale è che si tratta di archiviazione lato client.

Domande come:

  1. Cosa può essere memorizzato nella memoria isolata?
  2. Cosa può essere ignorato nella memoria isolata? Ad esempio, l'applicazione ha memorizzato i file che possono essere sovrascritti dall'utente?
  3. Come viene presentato all'utente?

Servizi di back-end

Nei casi di utilizzo di applicazioni Web Silverlight formerà comunemente il livello superiore / front-end e un servizio Web di back-end sarà responsabile di alcuni tipi di gestione / archiviazione dei dati.

Poiché Silverlight è un servizio Web di tecnologia lato client, se esistono, sono esposti al client, il che è diverso dalla solita applicazione web lato server che potrebbe non essere necessario esporli affatto.

I servizi Web dovrebbero essere testati in modo aggressivo utilizzando strumenti automatici e manuali. I normali test di tipo di contenuto, vincoli di dimensioni e prestazioni sono importanti. Anche un po 'di fuzzing sarebbe anche buono. Tutto questo ricade sul test generico dei servizi Web non specifico di Silverlight.

Strumenti

Silverlight Spy del primo piano può aiutare a indagare sui problemi di archiviazione isolati: link

A volte è anche utile rivedere il codice xbap dell'app usando ILSpy o .Net Reflector: link

Prova questi per i servizi web:

Ci sono strumenti per test di penetrazione automatizzata delle applicazioni Silverlight?

link

Spero che questo aiuti.

    
risposta data 09.11.2011 - 22:40
fonte

Leggi altre domande sui tag