Cómo aprender a programar desde un posible pirata informático [cerrado]

3

Realmente me interesan los aspectos de piratería y seguridad. Pero me pregunto sobre varias cosas que me impiden seguir con esta pasión por el momento. Uno de ellos es en realidad el lenguaje de programación. Como todos sabemos, la programación en general es un campo abierto, y lo que quiero decir es que no se puede aprender los conceptos básicos de un lenguaje para escribir programas complejos o explotaciones. Como ejemplo, enlace este exploit fue escrito por C, aunque estudié C mucho antes. Apenas puedo entender el código.

Por lo tanto, estoy planeando aprender C, Python y IA-32 como un comienzo para el próximo período. Pero después de dominar los conceptos básicos, a dónde ir para centrarme en la programación como parte de la seguridad de la información, no solo un programador regular.

Mi objetivo y objetivo es leer y comprender el exploit anterior, y poder escribir una explotación similar (desbordamientos de búfer en general). Además, para poder encontrar y explotar esas debilidades, ¿tengo que entender también los sistemas internos?

También, he oído que la explotación anterior tiene algo que ver con la programación de socket en el entorno de Linux, y ANSI C ¿cuáles son esos y por qué los necesito para escribir un exploit así?

    
pregunta user209337 25.12.2013 - 05:52
fuente

1 respuesta

3

Para abordar su primera preocupación. Entender el código al que está vinculado sería difícil de entender desde su primera vez. Tendría que digerir el punto de entrada, la carga útil, el aprovechamiento y otros matices. Este no es un código débil que multiplica dos números y devuelve el resultado. Tiene sentido que alguien con experiencia limitada no pueda entenderlo.

Desafortunadamente, dominar lo básico no es suficiente. Por ejemplo, dominar lo básico no le permitirá comprender el código al que se vinculó. Los lenguajes de programación modernos están diseñados de tal manera que los conceptos básicos son comprensibles para las personas que no entienden completamente el lenguaje.

Si desea comprender completamente el exploit, la carga útil, el código y aprender más sobre los exploits, deberá comprender completamente algunas cosas.

  1. Cómo funciona la memoria (codificaciones de caracteres, la pila y desbordamientos de búfer)
  2. C
  3. La plataforma para la que se utiliza el exploit. ¿Planeas escribir tu código de shell para Windows o Linux? ... porque hay una gran diferencia.
  4. Comprensión de lo que sucede cuando compilas y ejecutas un programa

Si yo fuera tú, comenzaría con el libro K & R C. Esto te ayudará a aprender sobre la memoria y la C. Luego, leería Programación desde el principio. Esto le ayudará a enseñarle lo que sucede cuando se ejecuta un programa y la conexión entre el código fuente que escribe y las instrucciones que ejecuta su computadora.

Aunque creo que esta es la mejor manera de comenzar, ciertamente es la manera más difícil de comenzar ... El material es muy denso y difícil de entender. Comprender esto requiere mucho tiempo y esfuerzo. Además, su base de conocimientos todavía tendrá deficiencias evidentes. Aun así, si superas esto, serás capaz de entender fácilmente qué están haciendo las hazañas que encuentras y cómo funcionan después de un examen

    
respondido por el Rell3oT 25.12.2013 - 06:52
fuente

Lea otras preguntas en las etiquetas