¿Dónde debería obtener información sobre la seguridad de la red? .

Es válido para estudiar donde quieras. Pero debes ajustar la dirección de tu aprendizaje de acuerdo con tus propias características, de modo que puedas obtener el doble de resultado con la mitad de esfuerzo. Se recomiendan las siguientes tres rutas de aprendizaje, adecuadas para diferentes grupos de aprendizaje:

Método 1: primero aprenda a programar, luego aprenda a penetrar en la Web y a utilizar herramientas. Adecuado para la multitud: Amigos con cierta base de codificación.

(1) Parte básica

La parte básica requiere el aprendizaje de los siguientes contenidos:

(1.1) Red informática:

Enfoque en aprendizaje de OSI, modelo TCP/IP, protocolos de red, principios de funcionamiento de equipos de red, etc. y lea otros contenidos rápidamente;

El libro recomendado "Cómo está conectado Internet_Home Genqin" es conciso y fácil de entender, lo cual es una buena noticia para los principiantes, si no se siente profesional, puede aprender el diseño de Turing; Guía de autoridad HTTP de la serie;

(1.2)Sistema y comandos Linux:

Porque el 70% de los servidores web en el mercado se ejecutan en el sistema Linux, si quieres aprender a hacerlo. Para penetrar en el sistema web, al menos debe estar muy familiarizado con los sistemas Linux y aprender los comandos operativos comunes.

Sugerencias de aprendizaje: conozca aproximadamente 10 comandos comunes adecuados para 90 escenarios de trabajo. Me gusta el software de oficina, domino las 10 funciones más utilizadas y no tengo problemas con el uso diario básico. Si no puede satisfacerlos, busque información relevante. Sólo hay entre 50 y 60 comandos comunes de Linux. Muchos blancos se los tragan todos y no pueden recordarlos en absoluto.

Libros recomendados sobre conceptos básicos de Linux para piratas informáticos;

(1.3) Marco web:

Familiarícese con el contenido de los marcos web, solo necesita comprenderlo. HTML front-end, JS y otros lenguajes de script, centrándose en el lenguaje php de back-end. Recuerde no aprender un idioma según las líneas de desarrollo. PHP al menos puede entender el código y, por supuesto, escribirá mejor, pero no es desarrollo, pero no es desarrollo. Di cosas importantes tres veces.

Base de datos:

Necesita aprender la sintaxis SQL, y lo mismo ocurre con el uso de la base de datos MySQL de uso común para aprender la sintaxis de la base de datos correspondiente. Puede comprender alguna sintaxis avanzada de SQL. Si no tiene tiempo para aprenderlo por completo, no afectará el aprendizaje posterior. Después de todo, usted no es un analista de bases de datos, por lo que no necesita aprender mucho.

(2) Seguridad de la red

(2.1) Tasa de penetración de la red

Domina los principios, la utilización y la defensa de más de 10 vulnerabilidades web comunes clasificadas como las mejores por OWASP Espere a obtener puntos de conocimiento y luego practique en un rango determinado; algunos principiantes pueden preguntar dónde encontrar información. Se recomienda comprar libros más autorizados directamente, usar algunos sistemas de video gratuitos en línea para aprender y luego usar campos de tiro de código abierto para ayudar. en la práctica;

Libro recomendado White Hat Talks about Web Security (trabajo de Alibaba White Hat Hacker Shinto Brother)

Campos de tiro recomendados Los campos de tiro comunes se pueden buscar en la plataforma github. Se recomiendan los siguientes campos de tiro: DVWA, bWAPP, upload-labs-master, SQL-lib-master, WebBug, Pikachu, etc. Algunos son campos de tiro integrales y otros son campos de tiro que apuntan específicamente a una determinada vulnerabilidad;

(2.2) Aprendizaje de herramientas

En la etapa de penetración de la Web, aún necesita dominar algunos aspectos necesarios. herramientas. Hay muchos vídeos sobre Bilibili, así que elige algunos que lo expliquen claramente. No utilice una herramienta para ver muchos vídeos. La mayoría de los vídeos son repetitivos y una pérdida de tiempo.

Principales herramientas y plataformas que es necesario dominar: burp, AWVS, Appscan, Nessus, sqlmap, nmap, shodan, fofa, proxy tools ssrs, Hydra, medusa, airspoof, etc. Las herramientas anteriores se pueden practicar utilizando el campo de tiro de código abierto anterior, que es suficiente;

El ejercicio casi ha terminado. Puede ir a la plataforma SRC para penetrar en sitios reales y ver si hay algún avance. Si necesita omitir WAF, debe aprender específicamente sobre WAF, y no hay muchos trucos. Estudie sistemáticamente y luego resuma más experiencias.

Subir un tramo de escaleras;

(2.2) Penetración automática

La penetración automatizada requiere el dominio de un idioma y dominio en su uso. Puede ser cualquier idioma con el que ya esté familiarizado. Si no lo entiendes bien, te recomiendo aprender Python. Principalmente porque es fácil de aprender, tiene muchos módulos y es conveniente escribir algunos scripts y herramientas.

Aunque no comprender la penetración de la automatización no afectará el ingreso y el empleo, sí afectará el desarrollo profesional. Para aprender Python, no es necesario dominar muchos módulos innecesarios ni desarrollar miles de líneas de código. Simplemente escriba algunas herramientas y scripts en Python, desde 10 líneas de código hasta 1-200 líneas de código. Generalmente, la cantidad de código es muy pequeña en comparación con la de los desarrolladores. Por ejemplo, un código central simplificado del código del rastreador de nombres de dominio es 60.

Solo toma unos días aprender la sintaxis de Python, y puedes aprender la sintaxis de Python en un día como máximo, porque todos los idiomas están conectados, pero la forma más rápida de Aprender un idioma es escribir código. Además, no hay otra manera. A continuación, puede intentar escribir algunas herramientas de uso común, como rastreadores, detección de puertos, extracción de contenido central de paquetes, escaneo de host activo de intranet, etc. , y busqué muchos de esos códigos en Internet; luego escribí algunos guiones POC y EXP y practiqué en el campo de tiro. Es posible que algunos amigos vuelvan a preguntar: ¿qué son POC y EXP? Vaya usted mismo a Baidu y desarrolle buenos hábitos.

(2.3) Auditoría de código

El contenido aquí requiere una capacidad de codificación muy alta, por lo que si su capacidad de codificación es débil, puede omitir esta parte del estudio primero, lo que no afectará su progreso en el camino hacia la penetración y el desarrollo.

Pero si desea ir más allá en la penetración web, debe dominar un lenguaje de desarrollo backend. Se recomienda PHP, porque los sitios web desarrollados en PHP ocupan la mayor proporción en el backend. Por supuesto, también domina Python, ASP, Java y otros lenguajes. Felicitaciones, ya tienes una buena base.

La auditoría de código, como su nombre indica, consiste en auditar el código fuente de los sitios web o sistemas de otras personas y auditar si existen lagunas en el sistema mediante la auditoría del código fuente o del entorno del código (que pertenece a la categoría de pruebas de caja blanca).

Entonces, ¿cómo aprender específicamente? Los contenidos específicos del aprendizaje se enumeran a continuación:

Dominar algunas funciones peligrosas y configuraciones de seguridad de PHP;

Estar familiarizado con el proceso y los métodos de auditoría de código;

Dominar 1 o 2 herramientas de auditoría de código, como seay

Dominar los métodos de auditoría funcional comunes (se recomienda AuditDemo para que tenga confianza).

Auditoría general del marco CMS (difícil) Hay un libro extranjero "Auditoría de código: arquitectura de seguridad de código web empresarial". Por supuesto, puedes explorarlo cuando tengas tiempo. Se recomienda buscar un curso introductorio sistemático sobre Bilibili. Busque AuditDemo en github, descargue el código fuente, compílelo en una máquina virtual local y luego use herramientas y métodos de auditoría para auditar las 10 vulnerabilidades en AuditDemo. La distribución de dificultad se ajusta a la distribución normal y puede ser cuestionada.

En cuanto a la auditoría del marco CMS, puede ir a algunos sitios web oficiales de CMS para descargar algunas versiones históricamente vulnerables para la auditoría. Puede utilizar el manual de usuario en el sitio web oficial para conocer el marco. Por ejemplo, la versión 3.2 de ThinkPHP tiene algunas lagunas. Puedes intentar mirar el código. Pero recuerde no leer el código tan pronto como comience, porque el marco CMS tiene una gran cantidad de código si no aprende el marco sistemáticamente primero, básicamente no podrá entenderlo. puede escribir una POC simple y seguir el método de auditoría de código. Use herramientas para auditar el marco juntos, de hecho, no es tan difícil como se imagina. Si es desarrollador, felicidades, ya tiene la ventaja inherente de la auditoría de código.

Algunas personas pueden preguntar: "Soy malo codificando, ¿no puedo aprender a auditar código?". De hecho, la auditoría de código no es una condición necesaria para aprender la seguridad de la red y es mejor dominarla.

Si no puedes dominarlo, no afectará tus estudios y empleo posteriores, pero debes elegir una etapa para practicar más profesionalmente, como la penetración web o la penetración de intranet, o la penetración automatizada;

(3) Seguridad Intranet

Enhorabuena, si has aprendido esto, básicamente podrás dedicarte a un trabajo relacionado con la seguridad de redes, como pruebas de penetración, penetración Web, servicios de seguridad, análisis de seguridad, etc.;

Si desea tener un empleo más amplio y una competencia técnica más fuerte, necesita volver a aprender el conocimiento sobre la penetración de la intranet;

El conocimiento de la intranet es un poco más difícil, en comparación con los materiales de aprendizaje y los campos de tiro actuales. el mercado Es relevante; el contenido principal del aprendizaje de la intranet incluye principalmente: recopilación de información de la intranet, penetración de dominios, tecnología de proxy y reenvío, mejora de permisos de aplicaciones y sistemas, aprendizaje de herramientas, tecnología antivirus, APT, etc.;

Puedes comprarlo "Ataque y defensa de la seguridad de la intranet: una guía práctica para las pruebas de penetración" que está muy bien escrito. Hay muy pocos libros en las intranets de China. Se centran en catálogos de libros y luego practican el uso de herramientas y campos de tiro.

¿Dónde puedo descargarlo en el campo de tiro de la intranet? Si es lo suficientemente fuerte y tiene una configuración de computadora alta, puede usar máquinas virtuales para construir un entorno de intranet, que generalmente requiere más de tres máquinas virtuales. También puede ir a algunos campos de tiro de intranet en el extranjero y algunos campos de tiro; las tarifas requeridas también están disponibles;

(4) Penetración y Expansión

La parte de penetración y expansión también está estrechamente relacionada con el trabajo específico y requiere el mayor dominio posible. Incluye principalmente. análisis de registros, refuerzo de seguridad, respuesta de emergencia, evaluación de seguridad equivalente, etc., entre ellos, es principalmente necesario dominar la tercera parte, no hay mucha información sobre este dato en Internet, y no hay mucha información sobre este dato. muchos libros y materiales. Puede aprender de grupos técnicos relacionados con la industria o de materiales compartidos por la industria. Aprender este paso es básicamente exitoso y es relativamente fácil aprender a analizar registros, reforzar la seguridad, responder a emergencias y otros conocimientos.

Método 2: primero comprenda la penetración y las herramientas de la Web, y luego comprenda a las personas que son adecuadas para la programación: amigos con poca capacidad de codificación o sin ninguna capacidad de codificación, y otras bases relativamente pobres.

Es necesario sentar las bases y luego es necesario aprender los sistemas Linux, las redes informáticas, algunos marcos web, bases de datos, etc. La penetración web aún debe dominarse de antemano;

Al final se pueden poner lenguaje php, penetración automática, auditoría de código, etc. Después de adquirir los conocimientos previos y empezar, aprender un idioma será relativamente fácil.

Se prefiere el método 2. Para los principiantes, la base de codificación suele ser débil y muchos principiantes caerán en el aprendizaje temprano del idioma. Por lo tanto, el método 2 recomendado es más interesante de aprender y es más fácil mantener una mayor motivación y entusiasmo por aprender. No entraré en el contenido de aprendizaje específico. Consulte el método 1.

Método 3: Elija algunas personas adecuadas para estudiar el curso: amigos que necesitan un aprendizaje sistemático para mejorar sus capacidades prácticas.

Según tus propias condiciones, si tienes poca capacidad de autoaprendizaje, se recomienda elegir cursos. Hay muchos cursos en las principales plataformas en línea que pueden ayudarlo a comenzar rápidamente y luego continuar mejorando su aprendizaje en función de sus propias deficiencias y finalmente alcanzar el nivel de excelencia que desea.

Los libros de aprendizaje recomendados son los siguientes:

Etapa básica

Conceptos básicos de hacking de Linux (traducción al chino)

Análisis de red Wireshark (completo) Scan)

Dominio de las expresiones regulares (tercera edición en chino)

Edición gráfica en color HTTP

[Introducción a la criptografía]. Yang Xin.

Segunda edición en chino

Cómo se conecta Internet_Home Genqin

[Programación PHP y MySQL (cuarta edición)] W.Jason.Gilmore

Fase de penetración de la red

p>

Guía práctica para pruebas de penetración de defensa y ataques de seguridad de red

Los sombreros blancos hablan sobre seguridad de red

Profundidad de seguridad web

Fase de penetración automática

Profundidad de seguridad web

Fase de penetración automática

p>

Comenzar rápidamente a programar en Python: automatizar el trabajo tedioso

Etapa de auditoría de código

Auditoría de código: arquitectura de seguridad de código web empresarial

Fases de penetración interna de Internet

Ataques y defensas a la seguridad de la intranet: una guía práctica para pruebas de penetración

Ingeniería social para prevenir fraudes de phishing

y>