La guía de ruta de aprendizaje más detallada sobre seguridad web, de entrada a entrada (incluidos libros y kits de herramientas)

En esta categoría de tecnología circular, los trabajos tienen principalmente las siguientes tres direcciones:

Investigación y desarrollo
de seguridad Investigación de seguridad: dirección binaria
Investigación de seguridad: dirección de penetración de red

Vamos a explicarlos uno por uno.

La primera dirección: investigación y desarrollo de seguridad.

Puede entender la seguridad de la red como la industria del comercio electrónico, la industria de la educación y otras industrias. Cada industria tiene su propia investigación y desarrollo de software, y la seguridad de la red no es una excepción como industria. La diferencia es que la investigación y el desarrollo de esta industria son el desarrollo y el software relacionado con el negocio de la seguridad de la red.

Siendo ese el caso, hay posiciones comunes en otras industrias en la industria de la seguridad, como front-end, back-end, análisis de big data, etc., pero además de esas posiciones generales de desarrollo, también hay algunas posiciones de I + D estrechamente relacionados con el negocio de la seguridad.

Esta categoría se puede dividir en dos subtipos:

Hacer desarrollo de productos de seguridad, hacer defensa
Hacer desarrollo de herramientas de seguridad, hacer ataques
Firewall, IDS, IPS
WAF (firewall de aplicaciones de sitios web)
puerta de enlace de base de datos
NTA (análisis de tráfico de red)
SIEM (centro de análisis de eventos de seguridad, conocimiento de la situación)
análisis de seguridad de big data
EDR ( software de seguridad en dispositivos finales)
DLP (prevención de pérdida de datos)
software antivirus
sandbox de detección de seguridad

En resumen, la mayoría de los productos de investigación y desarrollo de seguridad se utilizan para detectar y defenderse de los ataques de seguridad, que involucran el lado del terminal (PC, teléfono móvil, equipo de red, etc.)

Las tecnologías utilizadas para desarrollar estos productos son principalmente tres pilas de tecnología de C/C++, Java y Python, y también hay una pequeña cantidad de GoLang y Rust.

En comparación con las otras dos direcciones, los puestos de I+D de seguridad tienen requisitos más bajos para la tecnología de seguridad de red (solo relativamente, la I+D de algunos productos no tiene requisitos bajos para las habilidades de seguridad), e incluso he visto muchas empresas de I+D que no tienen nada que ver con seguridad.Conocer. En este caso, si tiene conocimientos de tecnología de seguridad de redes además de habilidades básicas de desarrollo, naturalmente será un elemento adicional cuando se entreviste para estos puestos.

Segunda Dirección: Seguridad Binaria

Dirección de seguridad binaria, que es una de las dos direcciones técnicas principales en el campo de la seguridad.

Esta dirección implica principalmente minería de vulnerabilidades de software, ingeniería inversa, análisis de virus y caballos de Troya, etc., e implica análisis del núcleo del sistema operativo, depuración y antidepuración, antivirus y otras tecnologías. Debido a que a menudo tratamos con datos binarios, la seguridad binaria se usa para referirse colectivamente a esta dirección a lo largo del tiempo.

La característica de esta dirección es: necesidad de soportar la soledad.

No es tan bueno como la investigación y el desarrollo de seguridad, que puede tener un resultado de producto real, y no es tan bueno como la dirección de penetración de la red. Esta dirección dedica más tiempo al análisis y la investigación silenciosos.

Tomando como ejemplo la minería de vulnerabilidades, lleva mucho tiempo aprender varias técnicas de ataque. En este campo, puede llevar meses o incluso años estudiar un problema, que definitivamente no es algo que la gente común pueda persistir. No solo eso, el éxito no se logra con trabajo duro, sino más bien con talento.

Personas como los jefes de los principales laboratorios de seguridad de Tencent, los líderes de conocimientos tradicionales bien conocidos en la industria y Wu Shi ya han dominado el significado profundo de la minería de vulnerabilidades y han dominado este truco. Pueden pensar en nuevas formas de jugar en sus sueños. Pero genios como este son realmente raros y están fuera del alcance de la mayoría de las personas.

Si los programadores son muy trabajadores, entonces la investigación de seguridad binaria es muy trabajadora. Plus

La tercera dirección: penetración de la red

Esta dirección está más en línea con la percepción que la mayoría de la gente tiene de los "hackers". Pueden piratear teléfonos móviles, computadoras, sitios web, servidores e intranets, y todo puede ser pirateado.

En comparación con la dirección de la seguridad binaria, esta dirección es más fácil de comenzar en la etapa inicial.Después de dominar algunas tecnologías básicas, puede piratear con varias herramientas listas para usar.

Sin embargo, si desea cambiar de un niño de scripts a un maestro hacker, cuanto más avance en esta dirección, más cosas necesitará aprender y dominar.

La dirección de penetración de la red se inclina más hacia el "combate práctico", por lo que existen mayores requisitos para la amplitud de la tecnología, desde dispositivos de hardware de red, protocolos de comunicación de red, servicios de red (web, correo electrónico, archivos, bases de datos, etc.), hasta sistemas operativos, métodos de ataque, etc. necesitan saber. Me inclino más a ser un experto informático completo, que puede integrar varias tecnologías para el "combate real".

Empecemos hablando de la ruta de aprendizaje, el contenido es un poco largo, así que puedes darle un like primero, para que lo encuentres a tiempo si no te pierdes.

¿Cómo empezar?

Después de hablar sobre la macro, pasemos a los puntos técnicos específicos y le mostraremos la ruta de aprendizaje de seguridad web que hice para los miembros del equipo. El curso general dura aproximadamente medio año, dependiendo de la situación de cada persona.

Si refina el contenido que necesita aprender cada semana a este nivel, todavía le preocupa no poder aprenderlo y no podrá comenzar. De hecho, lo ha aprendido durante dos meses. , pero hay que aprender de oriente a occidente, ¿qué?, el contenido es solo un gusto, y no he profundizado mucho, así que tengo la sensación de que no puedo entrar en la puerta después de estudiar durante 2 meses.

(Recordatorio amistoso: si lo encuentra útil, puede marcarlo para no encontrarlo más tarde)

También organicé los recursos de aprendizaje correspondientes para mis amigos, si lo necesitan, también puedo compartir algunos de ellos (la parte confidencial no se puede compartir)

[ Ayúdame a aprender sobre la seguridad de la red ]

①Ruta de aprendizaje de seguridad de red

② 20 libros electrónicos de pruebas de penetración

③ 357 páginas de notas sobre delitos de seguridad y defensa

④50 guías de entrevistas ofensivas y defensivas de seguridad

⑤Kit de herramientas de penetración del equipo rojo de seguridad

⑥ Libros necesarios sobre seguridad de redes

⑦100 casos reales de combate de vulnerabilidades

⑧Recursos de video internos de las principales fábricas de seguridad

⑨Análisis de las preguntas pasadas de captura de la bandera del CTF

1. Conceptos relacionados con la seguridad web (2 semanas)

  • Familiarizado con conceptos básicos (inyección SQL, upload, XSS, CSRF, caballo de Troya de una frase, etc.).
  • Google/SecWiki a través de palabras clave (inyección de SQL, carga, XSS, CSRF, caballo de Troya de una palabra, etc.);
  • Lea "Mastering Script Hackers", aunque es muy antiguo y tiene errores, todavía es posible comenzar;
  • Mire algunas notas/videos de infiltración para comprender todo el proceso de infiltración real, puede buscar en Google (notas de infiltración, proceso de infiltración, proceso de intrusión, etc.);

2. Familiarizado con herramientas relacionadas con la penetración (3 semanas)

  • Familiarizado con el uso de AWVS, sqlmap, Burp, nessus, chopper, nmap, Appscan y otras herramientas relacionadas.
  • Para comprender el propósito y los escenarios de uso de tales herramientas, primero use el nombre del software Google/SecWiki;
  • Descargue las versiones sin puerta trasera de este software para su instalación;
  • Aprenda y use, los materiales didácticos específicos se pueden buscar en SecWiki, por ejemplo: el tutorial de Brup, sqlmap;
  • Una vez que haya aprendido este software de uso común, puede instalar Sonic Start para hacer una caja de herramientas de penetración;

3. Operación de combate de infiltración (5 semanas)

  • Domine todas las etapas de penetración y sea capaz de penetrar de forma independiente en sitios pequeños.
  • Busque videos de infiltración en Internet para ver y pensar en las ideas y principios, palabras clave (infiltración, videos de inyección SQL, intrusión de carga de archivos, copia de seguridad de la base de datos, exploits dedecms, etc.);
  • Encuentre un sitio/construya un entorno de prueba para probar usted mismo, recuerde ocultarse;
  • La penetración del pensamiento se divide principalmente en varias etapas y qué trabajo se debe realizar en cada etapa;
  • Estudie los tipos de inyección SQL, los principios de inyección y las técnicas de inyección manual;
  • Investigue el principio de carga de archivos, cómo truncar, falsificación de doble sufijo (IIS, PHP), análisis de exploits (IIS, Nignix, Apache), etc.;
  • Estudie los principios y tipos de formación XSS, el método de aprendizaje específico puede ser Google/SecWiki;
  • Estudiar el método y el uso específico de la escalada de privilegios de Windows/Linux;

4. Prestar atención a la dinámica del círculo de seguridad (1 semana)

  • Presta atención a las últimas vulnerabilidades, incidentes de seguridad y artículos técnicos en el círculo de seguridad.
  • Busque artículos/eventos diarios sobre tecnología de seguridad a través de SecWiki;
  • Preste atención a los practicantes en el círculo de seguridad a través de Weibo/twitter (si encuentra la atención de una gran vaca o la atención decisiva de un amigo), tómese el tiempo para verificarlo todos los días;
  • Suscríbase a blogs de tecnología de seguridad nacionales y extranjeros a través de feedly/fresh fruit (no se limita a los nacionales, por lo general presta más atención a la acumulación), si no tiene un feed, puede consultar la columna de agregación de SecWiki;
  • Cultive el hábito de enviar activamente artículos técnicos de seguridad para vincularlos a SecWiki todos los días para su acumulación;
  • Preste más atención a la última lista de vulnerabilidades y recomiende algunas: exploit-db, biblioteca china CVE, Wooyun, etc., y practique cuando encuentre vulnerabilidades públicas.
  • Siga los temas o videos de conferencias de seguridad nacionales e internacionales, y recomiende SecWiki-Conference.

5. Familiarizado con Windows/Kali Linux (3 semanas)

  • Aprenda los comandos básicos y las herramientas comunes de Windows/Kali Linux;
  • Familiarizado con los comandos cmd comunes en Windows, como: ipconfig, nslookup, tracert, net, tasklist, taskkill, etc.;
  • Familiarizado con los comandos comunes bajo Linux, tales como: ifconfig, ls, cp, mv, vi, wget, service, sudo, etc.;
  • Familiarizado con las herramientas comunes del sistema Kali Linux, puede consultar SecWiki, "Pruebas de penetración web con Kali Linux", "Hackear con Kali", etc.;
  • Si está familiarizado con la herramienta Metasploit, puede consultar SecWiki, "Guía de pruebas de penetración de Metasploit".

6. Configuración de seguridad del servidor (3 semanas)

  • Aprenda la configuración del entorno del servidor y sea capaz de descubrir problemas de seguridad en la configuración a través del pensamiento.
  • Configuración de IIS en entorno Windows 2003/2008, preste especial atención a la configuración de seguridad y permisos de operación;
  • La configuración de seguridad de LAMP en el entorno Linux considera principalmente permisos de ejecución, cross-directory, permisos de carpetas, etc.;
  • Refuerzo remoto del sistema, restricción de inicio de sesión con nombre de usuario y contraseña, y restricción de puertos a través de iptables;
  • Configure el software Waf para fortalecer la seguridad del sistema y configure mod_security y otros sistemas en el servidor;
  • El software Nessus se utiliza para realizar una detección de seguridad en el entorno de configuración y descubrir amenazas de seguridad desconocidas.

7. Aprendizaje de programación de guiones (4 semanas)

  • Elija uno de los lenguajes de secuencias de comandos Perl/Python/PHP/Go/Java para aprender a programar las bibliotecas de uso común.
  • Cree un entorno de desarrollo y elija un IDE. El entorno PHP recomienda Wamp y XAMPP, y el IDE recomienda Sublime;
  • Aprendizaje de programación de Python, el contenido de aprendizaje incluye: gramática, regularización, archivos, red, subprocesos múltiples y otras bibliotecas comunes, recomendamos "Programación de Python Core", no lo lea;
  • Escriba el exploit de la vulnerabilidad en Python y luego escriba un rastreador web simple;
  • Aprenda la gramática básica de PHP y escriba un sistema de blog simple, vea "Programación de PHP y MySQL (4.ª edición)", video;
  • Familiarícese con la arquitectura MVC e intente aprender un marco PHP o un marco Python (opcional);
  • Comprender el diseño de Bootstrap o CSS;

8. Auditoría de código fuente y análisis de vulnerabilidades (3 semanas)

  • Puede analizar de forma independiente programas de código fuente de secuencias de comandos y encontrar problemas de seguridad.
  • Familiarizado con los métodos dinámicos y estáticos de auditoría de código fuente y saber cómo analizar el programa;
  • Encuentre y analice las vulnerabilidades de los programas de código abierto de Wooyun e intente analizarlos usted mismo;
  • Comprender las causas de las vulnerabilidades web y luego buscarlas y analizarlas a través de palabras clave;
  • Estudie los principios de formación de las vulnerabilidades web y cómo evitar dichas vulnerabilidades desde el nivel del código fuente y organícelos en una lista de verificación.

9. Diseño y desarrollo de sistemas de seguridad (5 semanas)

  • Ser capaz de construir su propio sistema de seguridad y presentar algunas sugerencias de seguridad o arquitectura del sistema.
  • Desarrollar algunos dispositivos de seguridad prácticos y de código abierto para reflejar la fuerza personal;
  • Establezca su propio sistema de seguridad y tenga su propio entendimiento y opiniones sobre la seguridad de la empresa;
  • Proponer o sumarse a la arquitectura o desarrollo de grandes sistemas de seguridad;

Esta hoja de ruta ha sido detallada sobre qué contenido aprender cada semana y en qué medida. Se puede decir que esta hoja de ruta de seguridad web que compilé es muy amigable para los recién llegados. ¡Espero que les sea útil!

Supongo que te gusta

Origin blog.csdn.net/yinjiyufei/article/details/129207250
Recomendado
Clasificación