![]() |
1
28
你可能想要Ruby,因为它是Metasploit的原生语言,Metasploiit是事实上的标准开源渗透测试框架。Ruby将为你提供:
第二名是Python。Python中可用的渗透测试库比Ruby中更多(但不足以抵消Metasploit)。商业工具也倾向于支持Python——如果你是Immunity CANVAS或CORE Impact的客户,你想要Python。Python给你:
不出所料,许多网络工作都使用Java工具。事实上,标准的web渗透测试工具是Burp Suite,它是一个Java swing应用程序。Ruby和Python都有Java变体,你可以使用它们来访问这样的工具。此外,Ruby和Python都提供:
这两种语言都不会出错,尽管对于主流的pentest工作,Metasploit可能会超越Python的所有优势,而目前,对于x86反向工作,Python优越的调试接口会超越Ruby的所有优势。 另外:现在是2008年。它们不是“脚本语言”。它们是编程语言。 ;) |
![]() |
2
8
[免责声明:我主要是一名Perl程序员,这可能会影响我的判断。然而,我并不是一个特别部落化的人,我认为在这个特定的问题上,我的论点是相当客观的。] Perl的设计是为了无缝融入Unix环境,这就是为什么它对主要具有面向对象背景的人(尤其是面向对象的Java学派)来说是如此陌生。然而,出于这个原因,它被广泛安装在任何类型的Unixoid操作系统的机器上,并且许多供应商的系统实用程序都是用它编写的。同样出于同样的原因,既没有安装Python也没有安装Ruby的服务器仍然可能有Perl,因此熟悉Perl非常重要。因此,如果你的CEH活动包括在Unix上的广泛活动,你无论如何都必须对Perl有一定的熟悉程度,你最好专注于它。 也就是说,这在很大程度上是一个偏好问题。语言之间没有太大区别;它们的表现力几乎完全相同。有些事情在其中一种语言中更容易,有些事情在另一种语言里更容易。 在库方面,我不知道Ruby和Python是如何相互比较的,但我知道Perl远远超过了它们。再说一次,有时(尤其是当你在寻找满足共同需求的库时),唯一的影响就是你被各种选择淹没了。如果你只想在Python或Ruby库很好覆盖的特定领域做事情 别的 CPAN上的东西不一定是优势。然而,在利基领域,这很重要,你永远不知道你最终会有什么不可预见的需求(根据定义是错误的)。 对于命令行上的单行程序使用,Python是一种不可能的。 在交互式解释器环境方面,Perl嗯,你可以使用调试器,它不是很好,或者你可以从CPAN安装一个,但Perl本身并没有提供一个好的调试器。 所以我认为Perl确实对你的需求有很小的优势,但只是刚刚好。如果你选择Ruby,你的处境可能不会更糟。Python可能会给你带来更明显的不便,但它也很难成为 坏的 选择。 |
![]() |
3
4
我可以为这三个问题提出一个论点:-) Perl拥有所有的CPAN,在快速整合功能方面为您提供了巨大的优势。它还有一个灵活的测试基础设施,这意味着您可以在同一个框架中插入许多不同的自动化测试风格(包括其他语言的测试)。 Ruby是一种很好学习的语言,但缺少Perl 5中的一些粗制滥造之处。如果你正在进行基于网络的测试,它还有watir库,这对trez很有用(参见 http://wtr.rubyforge.org/ ) Python是一种很好的语言,(虽然这不是我个人的喜好)一些人发现它的结构更容易掌握。 其中任何一种(以及许多其他)都是一门很好的语言。 与其看语言,我会看你的工作环境。如果你周围有其他人在做类似的事情,那么学习东西总是更容易。如果你目前的开发/测试人员已经专注于上述之一,我会选择这样做。如果没有,请选择对您当前的工作环境最适用/最有用的一个。与团队其他成员聊天,看看他们的想法。 |
![]() |
4
3
这取决于实现,如果它是分布式的,我会选择Java,正如你所知,因为它的可移植性。如果它仅用于内部使用,或者将在半受控环境中使用,那么请选择您最喜欢的维护方式,以及具有最佳长期前景的方式。 现在,为了回答这个问题,我会选择Perl,但我是一个linux爱好者,所以我在这方面可能有点偏颇。 |
![]() |
5
3
如果您计划使用Metasploit进行笔测试和漏洞开发,我建议您使用前面提到的ruby。Metasploiit是用ruby编写的,您可能希望进行的任何漏洞/模块开发都需要ruby。 如果你将使用Immunity CANVAS进行笔测试,那么出于同样的原因,我会推荐Python,因为CANVAS是用Python编写的。此外,Peach和Sulley等模糊框架也是用Python编写的。 我不推荐Perl,因为你会发现很少有与笔测试/模糊测试/漏洞利用相关的工具/脚本/框架。..在Perl中。 由于你的问题是“工具编写和漏洞开发”,如果你选择Metasploit,我会推荐Ruby;如果你选择CANVAS,我会建议使用python。 希望有帮助:) |
![]() |
6
2
作为CEH,首先学习CEH材料。这将使您接触到用于发动各种攻击的各种工具和平台。一旦你很好地理解了你的目标,看看现有工具和平台的功能(前面提到的metasploit框架非常全面和强大)。如何扩展它们以满足您的需求?一旦你知道了这一点,你就可以比较这些语言的能力。 我还建议您查看一下 BackTrack 发行版。 |
![]() |
7
1
所有这些都应该足够了。除非你需要一个只提供一种语言的库,否则我会让个人喜好来指导我。 |
![]() |
8
1
如果你正在寻找一种能很好地与Java配合使用的脚本语言,你可能想看看Groovy。它具有Perl的灵活性和强大功能(闭包、内置正则表达式、每个角落的关联数组),但你可以从它访问Java代码,因此你可以访问大量的库,特别是你正在开发的系统的其余部分。 |
![]() |
9
1
metasploit 是一个很好的渗透测试框架。它主要是用Ruby编写的,所以如果你熟悉这种语言,也许你可以在那里学习。然而,为了 使用 metasploit,你根本不需要知道任何语言。 |
![]() |
10
1
如果你对CEH感兴趣,我会看看 Grey Hat Python 。它展示了一些非常有趣和相关的东西。 话虽如此,任何语言都可以。 |
![]() |
11
0
好吧,你在想什么样的功绩?如果你想写一些需要低级东西(ptrace、原始套接字等)的东西,那么你需要学习C。但Perl和Python都可以使用。真正的问题是哪一个更适合你的风格? 至于工具制作,Perl具有良好的字符串处理能力,更接近系统,有很好的支持,但依我之见,它非常令人困惑。我更喜欢Python:它是一种干净、易于使用、易于学习的语言,具有良好的支持(完整的语言/lib参考、第三方库等)。而且(严格来说,依我之见)很酷。 |
![]() |
12
0
我使用tqbf。我使用过Python和Ruby。目前,我正在使用JRuby。它具有Ruby的所有功能,可以访问Java库,所以如果你绝对需要一种低级语言来解决某个问题,你可以用高级语言来解决。到目前为止,我还不需要真正使用太多Java,因为Ruby已经能够完成我作为API测试人员所需要的一切。 |