就我而言,Python和Ruby在很大程度上是混搭的。当你真正开始做的时候,他们基本上都做同样的事情,这都取决于你的喜好。Metasploit是用Ruby编写的,许多很棒的笔工具都是用Python编写的。
Perl也是一个不错的选择,我经常使用它。它有很多有用的模块,更不用说CPAN了(如果还没有,我建议您去看看)。它对socket脚本、操作数据很有帮助,并且因其出色的regexp处理而闻名。我喜欢Perl和Ruby的另一点是,您可以执行Linux命令并将输出捕获到变量中。
例如:#!/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";
我喜欢这个功能。在Python中有一种方法可以做类似的事情,但它要复杂得多。
milw0rm上的大多数程序都是用C语言编写的,但这并不是一种真正的脚本语言,如果需要的话,也不容易编写快速的脚本。
我的结论是Ruby和Python对于笔测试来说是很好的,而且通常都会做同样的事情——但是Perl永远是我的最爱:-)