¿Alguien puede sugerir buenos recursos para conocer las vulnerabilidades y los ataques a sitios web, de manera práctica, para alguien con experiencia en programación limitada?
OWASP tiene un par de recursos muy interesantes de este tipo:
Le sugiero que comience por desarrollar sitios web dinámicos que involucren una base de datos, utilizando HTML / CSS, un lenguaje de programación del lado del cliente (como JavaScript) y un lenguaje dinámico (PHP es una opción popular). Para comprender completamente los ataques de seguridad web, primero debe familiarizarse con la arquitectura cliente / servidor, y la forma en que un lenguaje dinámico interactúa con una base de datos para recuperar / insertar / modificar datos.
Una vez que comprenda los conceptos básicos del desarrollo web dinámico, puede comenzar a aprender sobre los ataques. El OWASP Guide Project es un gran recurso y una referencia para probadores de penetración web experimentados así como para recién llegados. Para capacitación práctica, solo google para una aplicación web vulnerable y encontrará muchas aplicaciones deliberadamente vulnerables para la práctica en contra de de forma segura y legal . DVWA es un buen punto de partida.
El siguiente paso es aprender acerca de las herramientas. Le aconsejo que no los use hasta que comprenda completamente los diferentes ataques (XSS, SQLi, CSRF, RFI / LFI, XST, etc.) y cómo realizarlos manualmente. Para obtener una lista concisa de herramientas de código abierto para usar cuando evalúe una aplicación web, puede verificar esta respuesta anterior mía .
Creo que su capacidad para comprender los ataques de software está limitada por su capacidad para crear software. Para las personas con experiencia en programación limitada interesadas en la "seguridad web" les diría que escriban una aplicación web. Puede ser simple, pero necesitan saber cómo funciona desde el punto de vista de los desarrolladores antes de que puedan entender cómo se puede manipular para realizar tareas para las que no fue diseñado.
Sé que hay sitios como HackThisSite que tienen un enfoque práctico para enseñar seguridad. Usted puede comprobar esos. Una vez que tenga una comprensión fundamental de las vulnerabilidades comunes, leer mucho (¡incluyendo este sitio!) También puede ayudar mucho.
Lea otras preguntas en las etiquetas web-application professional-education