¿Cómo realizar una auditoría de seguridad para una aplicación PHP?

42

Tengo una aplicación PHP que me gustaría haber auditado por seguridad. Estoy familiarizado con la mayoría de los problemas de seguridad en general, pero quiero asegurarme de que no me haya perdido nada.

¿Qué pasos debo seguir para realizar una auto-auditoría? ¿Qué herramientas están disponibles? ¿Cuál es la mejor manera de encontrar un auditor externo? ¿Alguna recomendación?

¿Está interesado en la auditoría de whitebox / codereview y en blackbox / pentest?

    
pregunta VirtuosiMedia 11.11.2010 - 22:47
fuente

5 respuestas

11

Debes comenzar con cualquier proxy web interactivo, como burp proxy, paros, etc.
En mi caso, soy parcial con Fiddler . Sea cual sea la herramienta que elija, esto le permite examinar todo el flujo de solicitudes / respuestas e interactuar con las solicitudes posteriores a JavaScript. Gran lugar para empezar.

Eventualmente, imagino que El rastreador de código de OWASP también admitirá PHP ... aunque ahora mismo No estoy familiarizado con ninguna herramienta automatizada gratuita para esto. Solo globos oculares manuales por ahora ...
Por supuesto, puedes elegir uno de los grandes proveedores, por ejemplo. Fortify, Ounce Labs, etc., pero eso es bastante caro y otra lata de gusanos ...

    
respondido por el AviD 11.11.2010 - 23:41
fuente
6

Déle un vistazo al Skipfish de Google: enlace

    
respondido por el Nev Stokes 13.11.2010 - 17:36
fuente
6

Hay un montón de herramientas y es realmente una preferencia personal sobre lo que se usará para un pentest. Así que pruebe todos los mencionados por mí y por otros y elija los que mejor se adapten a usted.

Para la revisión del código de seguridad (prueba de whitebox), recomiendo usar RIPS . Es el mejor entre los que probé.

Para hacer algunas pruebas de Blackbox, ciertamente necesitas algún proxy de intercepción. Hay muchos de ellos, pero te sugiero que eches un vistazo a Fiddler si estás en Windows. Burp / WebScarab / Zed Attack Proxy también son excelentes. Si desea automatizar algunas de las pruebas de inyección, obtenga algunas cargas útiles comunes de fuzzdb .

Además, familiarícese con los complementos del navegador como Firebug y Chrome Developer Tools, son una gran ayuda.

Finalmente, pruebe los marcadores de Abra la colección de marcadores de pruebas de penetración . Es una lista enorme (solo para saber cuántas herramientas hay), pero hay muchas gemas dentro.

    
respondido por el Krzysztof Kotowicz 10.10.2011 - 17:30
fuente
3

Si desea asegurarse de no perder nada, la mejor manera es conseguir que un experto lo vea. ¡Demasiados problemas surgen en sitios web donde un desarrollador simplemente no es consciente de que no están siguiendo las mejores prácticas, o no comprenden que las prácticas comunes "seguras" no son realmente seguras en absoluto! (por ejemplo, "No necesito parametrizar mi SQL siempre que reemplace las comillas simples con comillas invertidas, ¿verdad?").

Si eres una empresa, contrata a una empresa externa de pentesting para hacer una prueba de tu aplicación. No son muy caros y encontrarán la mayoría de los problemas. Sin duda, es más barato para una empresa contratar a una empresa de "pentesting" que perder días de tiempo formando a los miembros del personal con un salario completo sobre cómo encontrar algunos errores, y es ciertamente más barato que tratar de reconstruir su empresa después de una violación importante de los datos del cliente.

    
respondido por el SecurityMatt 13.12.2012 - 15:00
fuente

Lea otras preguntas en las etiquetas