2009-11-04 8 views

Respuesta

4

Cualquier lenguaje que tenga buenas y sencillas capacidades de manejo de cuerdas es una buena opción para las pruebas de penetración. Es por eso que usted ve los lenguajes de scripting como los idiomas más utilizados en este tipo de tareas.

Para responder a su pregunta, son igual de buenos.

+0

tienes razón ... pero el manejo de cadenas simplemente no cuenta. Vi una pregunta anterior sobre qué idioma es mejor para pentesting, depende de la herramienta que usemos ... ruby ​​si metasploit o python id usamos canvas de inmunidad ... – Sriram

+0

¡El manejo de cadenas cuenta mucho! No todos los exploits lanzados hoy están enfocados en el metasploit o el lienzo de inmunidad. Algunos de ellos solo confían en las capacidades del lenguaje (por ejemplo, sockets). Mire la mayoría de los exploits en milw0rm. ¿Cuántos de ellos usan metasploit? Apenas ninguno Casi todos usan código de socket e intentan desbordar algo. – Geo

+0

lo siento, pensé en decir que el manejo de cadenas por sí solo no cuenta ... y tenía en mente lo que publicaste ... la parte del shellcode es principalmente material de manejo de cadenas ... y para exploits remotos las bibliotecas de socket como has mencionado ... – Sriram

5

En lo que a mí respecta, Python y Ruby son una gran cantidad. Cuando realmente te acostumbras, básicamente hacen las mismas cosas, todo depende de tus preferencias. Metasploit fue escrito en Ruby, y muchas herramientas de pluma fantásticas fueron escritas en Python. Perl también es una buena opción, y una que uso a menudo. Tiene muchos módulos útiles, por no mencionar CPAN (recomiendo comprobarlo si aún no lo ha hecho). Es bueno para scripts de socket, manipulación de datos y renombre por su excelente manejo de expresiones regulares. Las otras cosas que me gustan de Perl y Ruby es que puedes ejecutar un comando de Linux y atrapar el resultado en una variable.

por ejemplo:

#!/usr/bin/perl -w 

use strict; 

my $user = `whoami`; 
chomp($user); # usually there's a newline character at the end of the output. 
print "You are " . $user . "\n"; 

Me encanta esta funcionalidad. Hay una manera de hacer algo similar en Python, pero es mucho más largo.

La mayoría de los programas en milw0rm están codificados en C, pero esto no es realmente un lenguaje de scripting, y no es tan fácil escribir un script rápido sobre la marcha, si es necesario.

Mi conclusión es Ruby y Python están muy bien para las pruebas de penetración, y por lo general hacen las mismas cosas - pero Perl siempre será mi favorito :-)

1

Bueno, yo creo que c es más poderoso que las dos lenguas, y es mejor para la prueba de pluma.

1

Pero C no es un lenguaje de scripts, hay muchos argumentos que prueban que python/ruby ​​son mejores para las pruebas de pluma. Por ejemplo, con C no se puede automatizar tan rápido como con python/ruby, python/ruby ​​es un lenguaje de alto nivel y los programas de escritura son mucho más fáciles que C. Pero si quieres lidiar con las pruebas de lápiz, debes aprender Python o cualquier otro lenguaje de scripting y C/C++ u otros lenguajes como PHP depent. ¿Qué estás probando? Pero deberías saber al menos un lenguaje de scripting que hace las cosas mucho más fáciles algunas veces. .

Cuestiones relacionadas