Red de conocimiento informático - Problemas con los teléfonos móviles - Cómo aprender el front-end web sin perder el pelo

Cómo aprender el front-end web sin perder el pelo

La parte delantera que no pierde cabello (¿es esto posible jaja?)

Cualquier lugar donde quieras aprender será efectivo. Sin embargo, debe ajustar la dirección del aprendizaje en función de algunas de sus propias características, de modo que obtenga el doble de resultado con la mitad del esfuerzo. Se recomiendan las siguientes tres rutas de aprendizaje, adecuadas para diferentes grupos de aprendizaje;

Método 1: aprender a programar primero y luego aprender a penetrar en la Web y usar herramientas, etc.

Personas aplicables: amigos con cierta base en codificación

(1) Parte básica

La parte básica requiere aprender el siguiente contenido:

p>

(1.1) Red de computadoras:

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

Recomendado El libro "Cómo se conecta Internet_Toshi Tone" es conciso, fácil de entender y una buena noticia para principiantes; si cree que no es lo suficientemente profesional, puede estudiar la "Guía autorizada HTTP" de Turing Design Series;

(1.2) Sistema y comandos Linux:

Desde el 70% de los servidores web actuales en el mercado se ejecutan en el sistema Linux, si desea aprender a penetrar en el sistema web, al menos debe estar muy familiarizado con el sistema Linux y debe aprender los comandos operativos comunes;

Sugerencias de aprendizaje: aprenda alrededor del 10% de los comandos comunes, que son adecuados para el 90% de los escenarios de trabajo. Al igual que el software de oficina, domine el 10% de las funciones más utilizadas para la vida diaria básica. Si encuentra algo que no sabe, puede buscar información relevante; solo hay entre 50 y 60 comandos comunes de Linux. Muchos principiantes aprenden todos los comandos sin dudarlo, por lo que no pueden recordarlos en absoluto.

Libro recomendado Conceptos básicos de Linux para piratas informáticos;

(1.3) Marco web:

Familiarícese con el contenido de los marcos web y comprenda el HTML del front-end. , JS y otros lenguajes de secuencias de comandos, concéntrese en aprender el lenguaje PHP de back-end. Recuerde no aprender el lenguaje de acuerdo con la idea de desarrollo. El requisito mínimo para PHP es poder leer el código. mejor, pero no es desarrollo, pero no es desarrollo, pero no es desarrollo. Lo importante es decir tres veces

Base de datos:

Necesitas aprender SQL; sintaxis. Utilice la base de datos común MySQL para aprender la sintaxis de la base de datos correspondiente. Lo mismo es cierto. Si no tiene tiempo, no afectará el aprendizaje posterior. no es un analista de bases de datos, por lo que no necesita aprender demasiado;

(2) Seguridad web

(2.1) Penetración web

Domine los principios , utilización, defensa y otros puntos de conocimiento de más de 10 vulnerabilidades web comunes clasificadas como las mejores por OWASP, y luego combinarlas con ciertos ejercicios de campo de tiro pueden preguntar, ¿dónde encontrar información? Se recomienda comprar directamente una más autorizada; libro, estudie con algunos sistemas de video en línea gratuitos y luego use campos de tiro de código abierto para ayudar en la práctica;

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

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 completos, otros son campos de tiro dirigidos específicamente a ciertas vulnerabilidades;

(2.2) Aprendizaje de herramientas

En la etapa de penetración web, aún necesita dominar algunas herramientas necesarias. videos de aprendizaje en el sitio b Hay muchos, elija algunos videos con buenas explicaciones y mírelos No mire muchos videos con una sola herramienta. La mayoría de los videos son repetitivos y una pérdida de tiempo;

Herramientas y plataformas principales. para dominar: burp, AWVS, Appscan, Nessus, sqlmap, nmap, shodan, fofa, herramientas proxy ssrs, hidra, medusa, airspoof, etc. La práctica de las herramientas anteriores se puede practicar utilizando el campo de tiro de código abierto anterior, que es suficiente;

La práctica es casi la misma. Ahora, puede ir a la plataforma SRC para infiltrarse en sitios reales y ver si hay algún avance. Si implica la necesidad de evitar WAF, debe aprender específicamente. sobre cómo evitar WAF No hay demasiadas posturas. Aprenda sistemáticamente y luego resuma su experiencia al siguiente nivel;

(2.2) Penetración automatizada

La penetración automatizada requiere. Dominar un idioma y dominarlo. Puede ser cualquier idioma con el que ya esté familiarizado. Cualquier idioma está bien. Si no domina ninguno de ellos, le recomiendo que aprenda Python. es fácil de aprender y hay muchos módulos. Es muy conveniente escribir algunos scripts y herramientas;

Aunque no lo es, comprender la penetración de la automatización no afectará el ingreso y el empleo, pero sí afectará el desarrollo profesional. Python no requiere dominar muchos módulos innecesarios, ni requiere el desarrollo de miles de líneas de código. Solo necesita usarlo para escribir algunas herramientas y scripts, al menos 10 o más líneas de código, a veces de 1 a 200 líneas. Por lo general, la cantidad de código es extremadamente pequeña en comparación con la de los desarrolladores. Por ejemplo, el código central de un código de rastreador de nombres de dominio optimizado tiene solo entre 1 y 20 líneas;

Se necesitan unos días para aprenderlo. sintaxis de Python Si tiene conocimientos básicos de codificación, probablemente pueda terminar de aprender la sintaxis de Python en un día como máximo, porque todos los idiomas son similares, pero la forma más rápida de aprender un idioma es. escriba código, no hay otra manera; a continuación, puede comenzar a intentar escribir algunas herramientas comunes, como rastreadores, detección de puertos, extracción de contenido central de paquetes, escaneo de host activo de intranet, etc. escriba algunos guiones de POC y EXP, use el campo de tiro como práctica. Es posible que algunos amigos quieran volver a preguntar qué son POC y EXP, vaya a Baidu usted mismo y desarrolle un buen hábito de hacerlo;

(2.3) Auditoría de código

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

Si desea ir más allá en la penetración web, debe dominar un lenguaje de desarrollo backend. Se recomienda PHP, porque la mayoría de los sitios web desarrollados con PHP en el backend se utilizan. también domina los lenguajes python, asp y java, etc., entonces felicidades, ya tiene una buena base;

La auditoría de código, como sugiere el nombre, audita el código fuente de los sitios web o sistemas de otras personas. y audita si el sistema existe auditando el código fuente o el entorno del código (pertenecientes a la categoría de pruebas de caja blanca)

Entonces, ¿cómo se aprende específicamente? Los contenidos específicos del aprendizaje se enumeran en el siguiente orden:

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, etc.;

Dominar métodos de auditoría funcionales comunes (se recomienda auditar AuditDemo para que tenga confianza)

Auditorías de marcos CMS comunes (difíciles); Hay un libro extranjero sobre auditoría de código "Auditoría de código: arquitectura de seguridad de código web a nivel empresarial", por supuesto, se recomienda encontrar una introducción al sistema. curso en la estación b para aprender; 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. puede desafiarlo;

En cuanto a la auditoría del marco CMS, puede ir a algunos sitios web oficiales de CMS y descargar algunas versiones con vulnerabilidades históricas para la auditoría. Para conocer el marco, simplemente use el manual del sitio web oficial. , La versión ThinkPHP3.2 tiene algunas vulnerabilidades. Puede intentar comprender el código, pero recuerde no hacerlo tan pronto como lo inicie, porque el marco CMS tiene una cantidad relativamente grande de código. Si no aprende el marco sistemáticamente primero, básicamente estará en un estado de incomprensión. Después de aprender el marco, podrá escribir una POC simple y auditar el marco junto con el método y las herramientas de auditoría del código. No hay problema. Es tan difícil como crees. Si eres un desarrollador que ha cambiado de carrera, felicidades, ya tienes la ventaja innata de la auditoría de código.

Algunas personas pueden preguntar: "Soy muy pobre en codificación. ¿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. Si no puede dominarlo, no afectará el aprendizaje y el empleo posteriores, pero debe elegir una etapa y practicar para volverse más profesional y competente, como la penetración web o la penetración de intranet, o la penetración automatizada;

(3) Seguridad de intranet

Felicitaciones, si ha aprendido esto, básicamente puede trabajar en un trabajo relacionado con la seguridad de la red, como pruebas de penetración, penetración web, servicios de seguridad, análisis de seguridad y otros puestos;

Si desea tener un alcance laboral más amplio, la competencia técnica es más fuerte y necesita aprender los conocimientos relacionados con la penetración de la intranet;

El conocimiento de la intranet es un poco más difícil Esto tiene una cierta relación con los materiales de aprendizaje y campos de tiro actuales en el mercado. El contenido principal del estudio de Internet incluye principalmente: recopilación de información de intranet, penetración de dominios, tecnología de proxy y reenvío, escalada de privilegios de aplicaciones y sistemas, aprendizaje de herramientas, anti. -tecnología antivirus, APT, etc.;

Puedes comprar "Intranet" "Ataques y defensa de seguridad: una guía práctica para pruebas de penetración" es un libro bien escrito Uno de los pocos libros sobre intranets en. China utiliza el catálogo de libros como línea principal y luego practica con herramientas y campos de tiro;

Entonces, ¿dónde puedo descargarlo al campo de tiro de la intranet? Si es lo suficientemente capaz y tiene una configuración de computadora alta, puede usar máquinas virtuales para crear un entorno de intranet usted mismo, que generalmente requiere más de 3 máquinas virtuales. También puede ir a algunos campos de tiro de intranet en el extranjero para usarlos y realizar algunos tiros. los rangos que requieren tarifas están bien;

(4) Expansión de la penetración

La parte de expansión de la penetración también está estrechamente relacionada con el puesto de trabajo específico. Incluye principalmente análisis de registros, refuerzo de seguridad, respuesta de emergencia y evaluación de garantía de calificaciones, etc. No hay mucha información sobre esta área en Internet y no hay muchos libros y materiales establecidos. Puede aprender este paso a través de grupos técnicos relacionados con la industria o materiales compartidos por la industria, básicamente se considera un comienzo exitoso y es relativamente fácil aprender las tres partes del análisis de registros, el refuerzo de la seguridad y la respuesta de emergencia.

Método 2: aprenda primero sobre penetración y herramientas web, y luego aprenda a programar

Personas aplicables: aquellos con poca capacidad de codificación, o sin ninguna capacidad de codificación, y otras bases relativamente pobres Amigos

Se deben sentar bien las bases y luego es necesario dominar de antemano el aprendizaje de la penetración web, como el sistema Linux, la red informática, un poco del marco web y la base de datos;

Al igual que el lenguaje PHP, la penetración automatizada y la parte de auditoría del código se pueden colocar al final. Después de aprender los conocimientos previos y comenzar, será relativamente más fácil volver a aprender el idioma;

El método 2 es. Se recomienda primero para los principiantes, la base de codificación suele ser débil y muchos novatos recurrirán al aprendizaje del idioma en la etapa inicial. Por lo tanto, se recomienda aprender el método 2. Primero, aprenda la penetración y las herramientas web. interesante y fácil de mantener una alta motivación y entusiasmo por aprender. Aprenderé el contenido específico. No entraré más en detalles, consulte el método 1.

Método 3: elija algunos cursos que se adapten a sus necesidades

Personas aplicables: amigos que necesitan un aprendizaje sistemático y una mayor capacidad práctica

Según sus propias condiciones Hablando de eso , si su capacidad de autoestudio es deficiente, se recomienda elegir el estudio del curso. Hay muchos cursos diferentes en las principales plataformas en línea que pueden ayudarlo a comenzar rápidamente y luego continuar aprendiendo en función de los aspectos que le faltan. Para mejorar y aprender, y finalmente alcanzar el nivel de excelencia que deseas.

Los libros de aprendizaje recomendados son los siguientes:

Etapa básica

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

Análisis de red Wireshark (completo Scan Edition)

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

Edición en color HTTP ilustrada

[Introducción a la criptografía, segunda edición en chino Yang Xin]. p>

Cómo se conecta la red_Tsumi Togen

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

Etapa de penetración web

Guía práctica para pruebas de penetración de ataques y defensas de seguridad web

White Hat habla sobre seguridad web

Profundidad de seguridad web

Etapa de penetración automatizada

Empiece rápidamente a programar en Python: automatice el trabajo tedioso

Etapa de auditoría de código

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

Etapa de penetración en la intranet

Ataque y defensa de la seguridad de la intranet: una guía práctica para las pruebas de penetración

Ingeniería social para prevenir el phishing y el fraude