Análisis del código fuente de Iptables
Aprender seguridad web requiere dominar los conceptos relevantes de seguridad web, herramientas de prueba de penetración, operaciones de penetración reales, familiaridad con Windows/Kali Linux, configuración de seguridad de middleware y servidores, aprendizaje de programación de scripts, auditoría de código fuente y vulnerabilidad. análisis, diseño y desarrollo de sistemas de seguridad, etc.
Simplemente haz un plan de estudio:
Paso 1: Conceptos relacionados con la seguridad de la red
Tiempo de estudio recomendado: 2 semanas.
El contenido de aprendizaje es el siguiente:
1. Familiarizado con los conceptos básicos (inyección SQL, carga, XSS, CSRF, caballo de Troya, etc.).
2. Aprobado por palabras clave de Google (inyección SQL, carga, XSS, CSRF, troyano, etc.).
3 Todavía es posible leer "Análisis en profundidad de seguridad web" como estudio introductorio. .
4. Mira algunas notas/vídeos de penetración para comprender todo el proceso de penetración. Puede buscar en Google (notas de penetración, proceso de penetración, proceso de intrusión, etc.).
Paso 2: familiarícese con las herramientas relacionadas con la penetración.
Tiempo de estudio recomendado: 3 semanas.
El contenido de aprendizaje es el siguiente:
1. Familiarizarse con el uso de AWVS, Sqlmap, Burpsuite, Nessus, China chopper, Nmap, Appscan y otras herramientas relacionadas.
2. Comprender el propósito y los escenarios de uso de dichas herramientas.
3. No hay puerta trasera al descargar e instalar este software.
4. Aprende y úsalo. Se pueden buscar materiales didácticos específicos en Chunqiu, como tutoriales sobre Burpsuite y Sqlmap.
5. Una vez que haya aprendido todo el software de uso común, puede instalar Sonic Startup para crear una caja de herramientas de penetración.
El tercer paso: penetración en las operaciones de combate reales.
Tiempo de estudio recomendado: 5 semanas.
Los contenidos de aprendizaje son los siguientes:
1. Dominar todas las etapas de penetración y ser capaz de penetrar en sitios pequeños de forma independiente.
2. Busque videos de penetración en Internet y piense en las ideas, principios y palabras clave (penetración, videos de inyección SQL, intrusiones en la carga de archivos, copias de seguridad de bases de datos, explotación de vulnerabilidades de Dedecms, etc.).
3. Encuentre su propio lugar/construya un entorno de prueba para realizar pruebas y recuerde esconderse.
4. Piense en las principales etapas de penetración y qué trabajo se debe realizar en cada etapa, como este: Estándar de ejecución de pruebas de penetración PTES.
5. Conocer los tipos, principios y técnicas de inyección manual de inyección SQL.
6. Estudie los principios de carga de archivos, cómo truncarlos, análisis de vulnerabilidades, etc. Consulte Cargar marco de ataque.
7. Conozca los principios y tipos de formación XSS. Se pueden buscar métodos de aprendizaje específicos en Chunqiu.
8. Para estudiar el método y el uso específico del levantamiento de energía de Windows/Linux, puede consultar: Levantamiento de energía.
9. Puede consultar: Pruebas de penetración de código abierto en sistemas vulnerables.
Paso 4: Presta atención a la dinámica del círculo de seguridad.
Tiempo de estudio recomendado: 1 semana.
El contenido de aprendizaje es el siguiente:
1. Preste atención a las últimas vulnerabilidades, incidentes de seguridad y artículos técnicos en el círculo de seguridad.
2. Explore artículos/eventos diarios sobre tecnología de seguridad.
3. Sigue a los empleados del círculo de seguridad a través de Weibo y WeChat (si te encuentras con un experto o un amigo que te sigue con decisión), tómate el tiempo para revisarlos todos los días.
4. Suscríbase a blogs de tecnología de seguridad nacionales y extranjeros a través de feedly/Xianguo (no se limite al país, preste más atención a la acumulación).
5. Desarrolle el hábito de enviar activamente artículos sobre tecnología de seguridad todos los días y vincularlos a la Comunidad de primavera y otoño para su acumulación.
6. Preste más atención a la lista de vulnerabilidades más reciente, puede echar un vistazo a Spring and Autumn Cloud Scenery. com, practíquelo cuando encuentre vulnerabilidades públicas.
7. Preste atención a temas o vídeos de conferencias de seguridad nacionales y extranjeras.
8. Únete al grupo de intercambio técnico y pide a los jefes del grupo algo de experiencia y habilidades.
Paso 5: Familiarízate con Windows/Kali Linux.
Tiempo de estudio recomendado: 3 semanas.
El contenido de aprendizaje es el siguiente:
1. Aprenda los comandos básicos y las herramientas comunes de Windows/Kali Linux.
2. Familiarícese con los comandos cmd de uso común en Windows, como ipconfig, nslookup, tracert, NET, Tasklist, etc.
3. Familiarícese con los comandos comunes en Linux, como ifconfig, LS, CP, MV, VI, WGET, Service, Sudo, etc.
4. Familiarícese con las herramientas comunes del sistema Kali Linux. Puede consultar las pruebas de penetración web de Kali Linux, la piratería de Kali, etc.
5. Para familiarizarse con la herramienta Metasploit, consulte la Guía de pruebas de penetración de Metasploit.
Paso 6: Configuración de seguridad del middleware y servidor.
Tiempo de estudio recomendado: 3 semanas.
El contenido de aprendizaje es el siguiente:
1. Aprenda la configuración del entorno del servidor y descubra los problemas de seguridad en la configuración a través del pensamiento.
2. Configuración de IIS en entorno Windows server2012, preste especial atención a la seguridad de la configuración y los permisos de operación.
3. La configuración de seguridad de LAMP en el entorno Linux considera principalmente permisos de ejecución, permisos entre directorios, permisos de carpetas, etc.
4. Refuerzo de seguridad remota, restringir el inicio de sesión con nombre de usuario y contraseña, y restringir puertos a través de iptables; configurar el software Waf para mejorar la seguridad del sistema y configurar mod_security y otros sistemas en el servidor.
5. Utilice el software Nessus para comprobar la seguridad del entorno de configuración y descubrir amenazas de seguridad desconocidas.
Paso 7: Aprender a programar guiones
Tiempo de aprendizaje recomendado: 4 semanas.
El contenido de aprendizaje es el siguiente:
1. Elija uno de los lenguajes de programación: Perl/Python/PHP/Go/Java y aprenda a programar desde bibliotecas de uso común.
2. Cree un entorno de desarrollo y seleccione IDE. Se recomiendan Wamp y XAMPP para entornos PHP y Sublime es muy recomendable para IDE.
3. Aprendizaje de programación en Python. Se recomienda el contenido de aprendizaje: gramática, regularización, archivos, redes, subprocesos múltiples y otras bibliotecas comunes.
4. Utilice Python para escribir el exploit de la vulnerabilidad y luego escriba un rastreador web simple.
5. Aprenda la sintaxis básica de PHP y escriba un sistema de blog simple. Ver "Programación con PHP y MySQL (Cuarta Edición)" y videos.
6. Familiarícese con la arquitectura MVC e intente aprender un marco PHP o Python (opcional).
7. Comprender el diseño de Bootstrap o CSS.
Paso 8: Auditoría del código fuente y análisis de vulnerabilidad
Tiempo de estudio recomendado: 3 semanas.
El contenido de aprendizaje es el siguiente:
1. Ser capaz de analizar de forma independiente programas fuente de scripts y descubrir problemas de seguridad.
2. Estar familiarizado con los métodos dinámicos y estáticos de auditoría de código fuente y saber analizar programas.
3. Comprender las causas de las vulnerabilidades web y luego buscarlas y analizarlas mediante palabras clave.
4. Estudie los principios de formación de las vulnerabilidades web y cómo evitarlas desde el nivel del código fuente, y compile una lista de verificación.
Dirección del estudio: Sitio web oficial de My Chunqiu (Qi'antang)
Paso 9: Diseño y desarrollo del sistema de seguridad
Tiempo de estudio recomendado: 5 semanas.
Los contenidos de aprendizaje son los siguientes:
1. Ser capaz de establecer su propio sistema de seguridad y plantear algunas sugerencias de seguridad o arquitectura del sistema.
2. Desarrolla algunos dispositivos de seguridad prácticos y ábrelos para reflejar tu fortaleza personal.
3. Establezca su propio sistema de seguridad y tenga sus propios conocimientos y opiniones sobre la seguridad de la empresa.
4. Proponer o participar en la arquitectura o desarrollo de sistemas de seguridad a gran escala.