it-swarm.dev

Come eseguire un controllo di sicurezza per un'applicazione PHP?

Ho un'applicazione PHP che vorrei aver verificato per la sicurezza. Conosco la maggior parte dei problemi di sicurezza generali, ma voglio assicurarmi di non aver perso nulla.

Quali passi devo prendere per eseguire un controllo automatico? Quali strumenti sono disponibili? Qual è il modo migliore per trovare un revisore di terze parti? Qualche consiglio?

Ti interessano sia l'audit whitebox/codereview sia il blackbox/pentest?

44
VirtuosiMedia
27
M.S. Dousti

Dovresti iniziare con qualsiasi proxy web interattivo, come proxy burp, paros, ecc.
Io stesso, sono parziale a Fiddler . Qualunque strumento tu scelga, questo ti consente di esaminare tutto il flusso di richieste/risposte e interagire con le richieste post-javascript. Ottimo punto di partenza.

Alla fine, immagino il crawler di codice di OWASP supporterà PHP ... anche se in questo momento non ho familiarità con nessuno strumento automatico gratuito per questo. Solo bulbi oculari manuali per adesso...
Naturalmente puoi scegliere uno dei grandi fornitori, ad es. Fortifica, Ounce Labs, ecc., Ma è piuttosto costoso e un'altra lattina di worm ...

11
AviD

Dai un'occhiata allo Skipfish di Google: http://code.google.com/p/skipfish/wiki/SkipfishDoc

6
Nev Stokes

Ci sono tonnellate di strumenti ed è davvero una preferenza personale su ciò che si utilizzerà per un pentest. Quindi prova tutti quelli citati da me e da altri e scegli quelli che ti si adattano meglio.

Per la revisione del codice di sicurezza (test whitebox), consiglierei di usare RIPS . È il migliore tra quelli che ho provato.

Per eseguire alcuni test della blackbox, è sicuramente necessario un proxy di intercettazione. Ce ne sono molti, ma ti suggerisco di dare un'occhiata a Fiddler se sei su Windows. Burp / WebScarab / Proxy di attacco di Zed sono anch'essi fantastici. Se vuoi automatizzare alcuni dei test di iniezione, prendi alcuni payload comuni da fuzzdb .

Inoltre, familiarizza con i componenti aggiuntivi del browser come Firebug e Chrome Strumenti di sviluppo, sono di grande aiuto.

Infine, prova i segnalibri da Apri raccolta segnalibri test di penetrazione . È un enorme elenco (solo per sapere quanti strumenti ci sono), ma ci sono molte gemme all'interno.

6

Se vuoi assicurarti di non perdere nulla, il modo migliore è quello di convincere un vero esperto a guardarlo. Troppi problemi sorgono in siti Web in cui uno sviluppatore semplicemente non è consapevole di non seguire le migliori pratiche o non riesce a capire che le pratiche "sicure" comuni in realtà non sono affatto sicure! (ad es. "Non ho bisogno di parametrizzare il mio SQL fintanto che sostituisco le virgolette singole con virgolette singole rovesciate, giusto !?").

Se sei una società, assumi una società di pentesting esterna per fare un test della tua domanda. Non sono molto costosi e troveranno la maggior parte dei problemi. È certamente più economico per un'azienda assumere un'azienda di pentesting piuttosto che perdere giorni di tempo a formare i membri del personale con lo stipendio completo su come trovare alcuni bug, ed è sicuramente più economico di provare a ricostruire la tua azienda dopo una grave violazione dei dati dei clienti.

3
SecurityMatt