Come verificare la presenza di vulnerabilità nell'applicazione Web [chiuso]

2

Ho sviluppato un'applicazione web utilizzando zend framework, mysql e altre tecnologie lato client come javascript, jquery ajax, griglia di kendo e così via.

Ho completato lo sviluppo e ho fatto diversi cicli di test per assicurarmi che la parte funzionale sia corretta.

Ora vorrei verificare le vulnerabilità nella mia applicazione - vulnerabilità come

           * sql injection 
           * ajax vulnerabilities
           * others 

di cui non conosco. Vorrei chiederti ragazzi come controllare questo e rendere sicura l'applicazione. Quali metodi dovrei usare per proteggere la mia applicazione?

    
posta 웃웃웃웃웃 04.10.2013 - 14:46
fonte

1 risposta

8

Hai alcune opzioni, ma prima di approfondirle darei un'occhiata alla Open Web Progetto di sicurezza delle applicazioni . OWASP ha alcuni documenti e linee guida brillanti.

Personalmente, inizierei a condurre una revisione completa del codice . Piuttosto che cercare problemi tradizionali, dai un'occhiata strong alla pratica del Secure Coding. (Ancora una volta, OWASP ha alcune linee guida per questo)

Cose come il controllo della sanificazione, l'uso di eval() e così via. Da qui dovresti essere in grado di ottenere alcune informazioni - se non altro guardando il tuo codice da un altro punto di vista.

Potresti anche fare un analisi del codice sorgente statico che potrebbe sollevare alcuni dei problemi precedenti; tuttavia questi non dovrebbero essere l'unica forma di analisi del codice sorgente che fai. È comunque un ottimo approccio complementare per una revisione completa del codice. OWASP gestisce un elenco di tali strumenti qui .

Una volta acquisita una certa sicurezza nel codice sorgente, puoi iniziare a divertirti un po '! Qui è dove 'black box' tecniche , come la fuzzing, entrano in gioco.

Raccomando di utilizzare qualcosa come Zed Attack Proxy (ZAP) - dare alla tua applicazione una buona navigazione, preferibilmente localmente se sei su un host condiviso o se hai un server con applicazioni critiche in esecuzione / mantenuto altrove.

Prova e usa ogni funzionalità nel tuo sito usando questo proxy . Ciò che questo proxy può essere usato per , è controllare che a qualsiasi parametro che affronta il client non possa essere dato un input dannoso che causerà un rischio per la sicurezza. Tuttavia, ciò che questo proxy può effettivamente fare è molto di più - e vale la pena scavare nei documenti e osservare alcune delle funzionalità avanzate.

Se questo non restituisce nulla, la sicurezza diventa davvero un compito continuo:

  • Controllo dei registri degli errori per voci sospette (terze parti che usano fuzzer, scanner o altro che fanno cose " particolari ".
  • Errori interni del server - può essere un segno che qualcuno sta provando qualcosa
  • Log di caricamento del server, per attacchi DoS e così via.
  • Tieniti aggiornato con le versioni di sicurezza relative alle dipendenze che utilizzi

Non esagerare con OWASP, come ho già fatto numerose volte in questa risposta, ma è davvero un grande progetto, e penso che ogni sviluppatore web dovrebbe guardare dentro.

Vale anche la pena ricordare che la sicurezza dovrebbe essere una preoccupazione non appena il progetto è concepito, e se non prendi il codice sicuro per tener conto del tuo inizio - potresti avere un incubo quando stai cercando di fare retrospettivamente proteggere un'applicazione.

Buona fortuna!

    
risposta data 04.10.2013 - 15:09
fonte