¿Qué quiere decir exactamente con "hacker"? Además, debe obtener un título porque nadie lo contratará sin uno.
Si desea ingresar al campo de la seguridad de la información, estudie seguridad de la información o redes de información / conviértase en administrador de sistemas.
Si quieres convertirte en un ingeniero de software, aprende a programar (C, Java, SQL, C ++), aprende estructuras de datos y algoritmos, y ve a estudiar ingeniería informática o ciencias de la computación.
Lo pegaré aquí:
Entiendo lo que está diciendo aquí, pero tengo que estar en desacuerdo con usted sobre el punto de no "conocer los fundamentos". CTF naturalmente te obliga a aprender los fundamentos de una manera muy intensa. No hay forma de que pueda progresar a través de un CTF sin comprender el 'panorama general', y definitivamente no le enseña cómo hacer cosas muy específicas en situaciones muy específicas.
Tomemos, por ejemplo, un caso simple de cualquier desafío de explotación binaria: requiere que desarme el programa para analizar el código de la máquina, de modo que pueda mapear todas y cada una de las funciones individuales. Luego usa lo que ve para construir una imagen mental de lo que está enfrentando y, finalmente, en ese punto, considera sus opciones de explotación. En cuestión de unos pocos pasos, ya hemos cubierto el aprendizaje del uso de comandos unix, cómo se ensambla un programa en código de máquina, cómo leer el código de máquina en sí, cómo el código de máquina interactúa con la memoria del sistema y cómo revertir- diseñar dicho código de máquina en sus respectivas funciones de lenguaje de alto nivel. Comprenda que CTF requiere que conozca los fundamentos / 'panorama general' con la mayor fluidez posible antes de que pueda avanzar a través de los desafíos más simples.
Este ejemplo solo cubre un caso, ya que CTF también se expande a la ciencia forense (estenografía, datos y análisis de paquetes de red), explotación web (que te obliga a aprender todo, desde js, html, php, bibliotecas comunes, API, hasta web de pila completa desarrollo), miscelánea (que implica habilidades cruciales de scripting) y criptografía (para matemáticas y encriptación). En todos y cada uno de los casos, debe comprender completamente con qué está lidiando, o de lo contrario se quedaría perdido sin rumbo.
Solo a través de este conocimiento, uno eventualmente comenzaría a ver las complejidades de la tecnología que nos rodea y, por lo tanto, comenzaría a ver cómo pueden aplicar su conocimiento para su uso en situaciones del mundo real. El objetivo de CTF puede estar dirigido hacia la explotación, pero existe un conjunto de fundamentos subyacentes que debe aprender y aplicar si desea tener alguna posibilidad de éxito, y este conocimiento aprendido por sí solo debería ser más que suficiente para usar en escenarios del mundo real.
Si desea ingresar al campo de la seguridad de la información, estudie seguridad de la información o redes de información / conviértase en administrador de sistemas.
Si quieres convertirte en un ingeniero de software, aprende a programar (C, Java, SQL, C ++), aprende estructuras de datos y algoritmos, y ve a estudiar ingeniería informática o ciencias de la computación.
Lo pegaré aquí:
Entiendo lo que está diciendo aquí, pero tengo que estar en desacuerdo con usted sobre el punto de no "conocer los fundamentos". CTF naturalmente te obliga a aprender los fundamentos de una manera muy intensa. No hay forma de que pueda progresar a través de un CTF sin comprender el 'panorama general', y definitivamente no le enseña cómo hacer cosas muy específicas en situaciones muy específicas.
Tomemos, por ejemplo, un caso simple de cualquier desafío de explotación binaria: requiere que desarme el programa para analizar el código de la máquina, de modo que pueda mapear todas y cada una de las funciones individuales. Luego usa lo que ve para construir una imagen mental de lo que está enfrentando y, finalmente, en ese punto, considera sus opciones de explotación. En cuestión de unos pocos pasos, ya hemos cubierto el aprendizaje del uso de comandos unix, cómo se ensambla un programa en código de máquina, cómo leer el código de máquina en sí, cómo el código de máquina interactúa con la memoria del sistema y cómo revertir- diseñar dicho código de máquina en sus respectivas funciones de lenguaje de alto nivel. Comprenda que CTF requiere que conozca los fundamentos / 'panorama general' con la mayor fluidez posible antes de que pueda avanzar a través de los desafíos más simples.
Este ejemplo solo cubre un caso, ya que CTF también se expande a la ciencia forense (estenografía, datos y análisis de paquetes de red), explotación web (que te obliga a aprender todo, desde js, html, php, bibliotecas comunes, API, hasta web de pila completa desarrollo), miscelánea (que implica habilidades cruciales de scripting) y criptografía (para matemáticas y encriptación). En todos y cada uno de los casos, debe comprender completamente con qué está lidiando, o de lo contrario se quedaría perdido sin rumbo.
Solo a través de este conocimiento, uno eventualmente comenzaría a ver las complejidades de la tecnología que nos rodea y, por lo tanto, comenzaría a ver cómo pueden aplicar su conocimiento para su uso en situaciones del mundo real. El objetivo de CTF puede estar dirigido hacia la explotación, pero existe un conjunto de fundamentos subyacentes que debe aprender y aplicar si desea tener alguna posibilidad de éxito, y este conocimiento aprendido por sí solo debería ser más que suficiente para usar en escenarios del mundo real.