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

43

Ho un'applicazione PHP che mi piacerebbe avere verificata per sicurezza. Conosco la maggior parte dei problemi di sicurezza generali, ma voglio essere sicuro che non mi sia mancato nulla.

Quali misure dovrei prendere per eseguire un auto-audit? Quali strumenti sono disponibili? Qual è il modo migliore per trovare un auditor di terze parti? Qualche raccomandazione?

Interessato sia a whitebox / audit di codereview che a blackbox / pentest?

    
posta VirtuosiMedia 11.11.2010 - 22:47
fonte

5 risposte

11

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

Alla fine, immagino che il crawler di codice di OWASP supporti anche PHP ... anche se al momento sono io Non ho familiarità con nessuno strumento automatico gratuito per questo. Solo bulbi oculari manuali per ora ...
Naturalmente puoi andare per uno dei grandi venditori, ad es. Fortify, Ounce Labs, ecc - ma questo è piuttosto costoso e un altro barattolo di worm ...

    
risposta data 11.11.2010 - 23:41
fonte
6

Dai un'occhiata a Skipfish di Google: link

    
risposta data 13.11.2010 - 17:36
fonte
6

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

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

Per fare alcuni test blackbox, hai certamente bisogno di un proxy di intercettazione. Ce ne sono molti, ma ti suggerisco di dare un'occhiata a Fiddler se sei su Windows. Burp / WebScarab / Zed Attack Proxy sono fantastici. Se desideri automatizzare alcuni dei test di iniezione, acquisisci alcuni payload comuni da fuzzdb .

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

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

    
risposta data 10.10.2011 - 17:30
fonte
3

Se vuoi essere sicuro di non perdere nulla, il modo migliore è quello di farti vedere da un vero esperto. Troppi problemi sorgono nei siti Web in cui uno sviluppatore semplicemente non è consapevole di non seguire le best practice o non riesce a capire che le pratiche "sicure" comuni non sono affatto sicure! (Ad esempio, "Non ho bisogno di parametrizzare il mio SQL finché sostituisco le virgolette singole con le virgolette rovesciate, giusto!?").

Se sei un'azienda, 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 una società di pentesting che sprecare giorni e giorni a formare membri dello staff con un salario completo su come trovare alcuni bug, ed è certamente più economico che provare a ricostruisci la tua azienda dopo una grave violazione dei dati dei clienti.

    
risposta data 13.12.2012 - 15:00
fonte

Leggi altre domande sui tag