Pregunta

En su experiencia, ¿qué has hallado, trabajó en, ni encontró en términos de vulnerabilidades del sitio? Y qué medidas tomó usted para mitigar estos problemas?

Esto puede incluir XSS (Cross Site Scripting), ataques de inyección SQL, DDoS llanura de edad o intentos de phishing en los clientes de su sitio. Sólo ayer me encontré con toda una sección de herramientas de Firefox para los sitios de auditoría y su potencial para diversas vulnerabilidades.

en busca de ampliar mis conocimientos en esta área para un papel, por lo que más información para leer o aprender siempre es bueno - vínculos sólidos apreciados también! Y las historias de guerra de los peores que he encontrado o agujero más espantoso que he visto - aprendizaje de la experiencia es la mejor manera a veces

¿Fue útil?

Solución

He hecho revisión de seguridad, blanco-negro-caja y caja, para docenas (cientos?) De aplicaciones y sitios.

  1. XSS y SQL inyección de obtener una gran cantidad de prensa, pero sabe lo que encuentro la falla de seguridad más común que sea? Dejando de depuración y la funcionalidad de prueba en el código de producción. Ya sea mediante la manipulación de parámetros POST (isDebug = true) o a través de un sitio de spidering y la búsqueda de páginas sobrantes, éstos son los peores errores que veo en materia de seguridad. Si está incluyendo el código de prueba / depuración, lo puso en una rama adjunta, o al menos preparar una lista de verificación para la eliminación antes del lanzamiento.

  2. El siguiente vulnerabilidad más común que he visto es simplemente la capacidad de eludir los mecanismos de seguridad por el acaparamiento de una dirección URL de la página de origen. El nombre técnico es 'Contundente navegación' o 'navegación forzada' Esto es algo que cualquiera que pueda leer HTML puede hacer, sin embargo, me sorprende por la variedad de aplicaciones vulnerables. Revisión de un sitio de compra de boletos de ayer, tuve la oportunidad de comprar entradas para los conciertos a sala llena utilizando este método. En los sitios anteriores, yo era capaz de saltar el pago completo (muchos, muchos sitios Paypal pasan el "comprar completa" URL a través de paypal parámetros POST - Yoink!). Es necesario algún tipo de statefulness back-end o comprueba para asegurar la terminación, pago, disponibilidad, precisión, etc.

  3. Para ser franco, me suelo dejar herramientas como AppScan, delegación BURP, Webscarab, Fortify, FindBugs o Yasca (dependiendo del presupuesto y el código fuente de accesibilidad) encontrar los ataques de inyección SQL y XSS para mí. Voy a tratar de las cosas simples por mi cuenta, busco agujeros obvios, pero hay demasiadas combinaciones conocidas para tratar de usted mismo. Tengo una pequeña colección de secuencias de comandos y casos de prueba en busca de fallos más avanzados o recientemente descubiertos.

Me voy a parar a los 3, porque realmente podría seguir todo el día, estoy perdiendo el foco de su pregunta, y nadie quiere leer un muro de texto.

Algunos recursos para nuevos y experimentados gurús de seguridad web: (ARGH. No puedo publicar enlaces oficialmente todavía. Copiar / pegar. Lo siento)

El Proyecto Open Web Application Security (OWASP)

http://www.owasp.org/

Web Security Testing Cookbook

Este es un libro escrito para los auditores, los probadores, y menos para los desarrolladores. Que es bastante inusual para un libro de O'Reilly.

websecuritytesting.com

vulnerabilidad Categorización por Fortify

www.fortify.com/vulncat /

Enumeración debilidad común (advertencia: extensa)

nvd.nist.gov/cwe.cfm

Ataque Común Enumeración y clasificación de patrones (advertencia: aún más extensa)

capec.mitre.org /

de Google Web Security tutoriales

(más bien débil)

code.google.com/edu/security/index.html

Otros consejos

Me uní a un proyecto de aplicación web que incluye una biblioteca de documentos. La forma en que se hace referencia a los documentos era algo así como http://example.com/getdocument?file=somefile. pdf . Por supuesto que sólo tenía que probar file = / etc / passwd, y por supuesto que funcionó.

Solución: Realizar la desinfección de entrada de usuario y / o utilizar algún nivel de abstracción entre los recursos solicitados en el URL y los recursos del sistema de archivos reales

.

Este es el primo de los ataques de inyección SQL. Examinar cualquier petición permitido que se parece sospechosamente se le da al cliente un control excesivo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top