Antes de responder la pregunta, diferenciemos entre un programador y un hacker.
Supongamos que hay un equipo de cricket. Luego están el bateador, el jugador de bolos, el wicketkeeper y todo el equipo en ese equipo. El objetivo principal de un buen bateador, jugador de bolos o wicketkeeper es especializarse en su corriente particular (bateo, boliche o wicketkeeping); un buen bateador puede o no tener conocimientos de bolos; pero un buen todoterreno debe tener el mismo potencial tanto en el bateo como en la arena de bolos.
Del mismo modo, un programador de un idioma en particular debe ser un experto en ese campo definido, pero un hacker es como un todo terreno y debe tener el mismo conocimiento en varios campos.
- ¿Qué Linux es mejor aprender a hackear? ¿Dónde hay una guía tutorial para el mejor hackeo de Linux?
- ¿Por qué los fabricantes de teléfonos Android luchan contra el acceso de root?
- ¿Cuál es el mejor kit barato para hackear BCI casual / experimental en Linux?
- ¿Por qué los juegos de hack and slash son tan raros?
- ¿Puede ser obligado por una orden judicial a compartir una clave de cifrado o frase de contraseña privada?
Ahora, vamos al grano. ¿Qué lenguajes de programación necesita uno para aprender a ser un hacker ético?
Bueno, debes tener el mismo potencial que los siguientes idiomas ~
- Lenguaje ensamblador
Propósito: Ingeniería inversa.
Comencemos con la programación de bajo nivel. El lenguaje ensamblador es complicado de entender, pero es muy útil para los piratas informáticos que desean realizar ingeniería inversa en ciertas aplicaciones. El lenguaje ensamblador se utiliza para instruir directamente a cualquier hardware o software, por eso es mejor para la ingeniería inversa.
2. Python
Propósito: Crear exploits
Python es el mejor lenguaje de alto nivel para escribir exploits. Python Socket Programming ayuda mucho en el aprendizaje de la creación de exploits. Hay muchas más ventajas, como oop (lenguaje de programación orientado a objetos), fuerte soporte de biblioteca, fácil accesibilidad, etc.
3. C o C ++
Propósito: Crear exploits
El lenguaje C es la base de todos los lenguajes de programación de alto nivel. Todo el sistema operativo UNIX se desarrolla utilizando la programación en C. C ++ trae todos los conceptos modernos orientados a objetos de programación en C. Debe comprender cualquiera de estos dos idiomas para comprender la escritura de exploits.
4. PHP
Propósito: piratería web y pentesting
PHP es uno de los mejores lenguajes dinámicos de secuencias de comandos web. Es el lenguaje de secuencias de comandos del lado del servidor que se puede utilizar para escribir exploits para los servidores web y las aplicaciones web. También requiere el conocimiento de HTML junto con PHP.
5. Javascript
Propósito: piratería web y pentesting
Javascript es el gran lenguaje para la programación del lado del cliente en sitios web y aplicaciones. Recientemente, se ha vuelto muy popular y también domina la programación del lado del servidor con el framework node.js. Comprender la lógica del código JavaScript puede ayudarlo a encontrar la falla de las aplicaciones web.
6. SQL
Propósito: piratería de bases de datos
SQL se utiliza para comunicarse con el servidor de la base de datos. Todos y cada uno de los datos se almacenan en la base de datos, por lo que debe conocer la programación y la vulnerabilidad de la base de datos, ya que es la parte más sensible de la Web.
Por último, si bien no menos importante,
También deberías haber dominado Linux, ya que Linux es el paraíso de la piratería. Necesita explorar cada parte de Linux. Si conoces a Linux como tu vecino, congo, estás un paso adelante para ser un hacker ético.
Entonces, estas son tus armas, tómalas y domínalas. Entonces serás el guerrero del universo de piratería ética.
Buena suerte 🙂
Crédito: Technotification.