凡认可联盟《章程》,认同联盟价值的单位可申请加入联盟
无论你是一名准专业人士,安全爱好者还是经验丰富的资深人士,都会看到技术领域正在不断变化。本文的目的不是强迫你使用任何编程语言,而是给出要关注这些编程语言的原因。
前几天我女儿问我为什么有这么多的语言。我告诉她,它们就像你在五金店里买的工具一样ー同样的工作你可以使用许多工具,但是每项工作都有一个最适合的工具。当然,你完全可以把螺丝刀翻转过来,来敲击钉子,通过这种方式你就能把钉子钉进去,但是显然用锤子是更聪明的做法。
接下来让我们看下推荐的网络安全相关的编程语言。
Python
到目前为止,Python 在网络安全领域一直处于领先地位。这是一种通用的服务器端脚本语言(无需编译),已经被应用到成千上万的安全项目中。你会发现绝大多数安全工具和 PoCs 都是用 Python 编写的,这样做是有充分理由的:它非常容易上手和使用。而且每天都会开发出许多出色的模块来帮助你解决你可能遇到的几乎所有问题。即使你不打算使用它,也可能需要学习如何使用 Python 读取/修改脚本。很有可能未来的某个时候,你会用到它。
JavaScript
每个人都讨厌 JavaScript。我每天都在使用它,却对它又爱又恨。但是,没有其他编程语言可以从功能上完全替代它,而且还能在开发人员中达到相同受欢迎程度。每个主流浏览器都支持它,几乎每个 Web 开发人员都在使用它。如果你打算进行网络应用程序的渗透测试,bug 赏金猎人或其他方式,那么不熟悉 JavaScript 将会给你带来阻碍。跨站脚本漏洞(XSS)是网络上最常见的漏洞之一,你猜怎么着?它一种主要基于 JavaScript 的网络安全攻击。
PowerShell
我不是 Windows 的铁粉,我们大多数人都不再使用 Windows 了,但这并不能改变 Windows 在未来几年将成为领先者的事实。银行将使用 Windows XP 直到以后实在没法用了为止,联邦政府所有部门都使用 Windows (通常不是 XP . .)。那么 powershell 能为你做些什么呢?除了擦去你眼中的泪水,什么都能干。它是 Windows 机器后期开发的动力源,并且可以做一些很酷的事情,比如转储 ADFS 用户的电子邮件和帮助提升用户权限。
汇编语言
这并不适合所有人,你们不必都使用它。但是,如果不谈论逆向工程,任何安全编程语言清单都是不完整的。有一些非常棒的工具可以帮助进行逆向工程,比如 IDA 和 Ghidra,但是仍然需要一些组装。如果你对恶意软件和逆向工程感兴趣的话,学习下汇编语言吧。
Ruby
是的,我这里提到了 Ruby,不服来辩。
一些大型的安全工具是用 Ruby 编写的 (曾经使用过 metasploit 吗?) ,这有充分的理由: 它很像 Python,简单易用,并且有大量的社区支持。如果你想做一些兼职,Ruby 既可以做安全相关的活又可以接应用程序开发相关的任务。
接下来让我来谈谈那些没有被列入名单的安全相关的编程语言。
荣誉提名
1、Golang/Go: 一种强大的编程语言,可以编译成稳定的、超快的、跨平台兼容的可执行文件。像 GoPhish 这类的工具是用 Go 编写的。
2、C (不是C++): 久经考验的编程语言标准。我都想把这个放在逆向工程编程语言列表中了,因为了解 C 可以*帮助你提高逆向工程和分析恶意软件的能力。
3、HTML 和 CSS : 它俩不是编程语言,如果要不是觉得有些不妥,我甚至考虑将其与 JavaScript 并列了。知道如何正确和错误地使用它们将有助于 Web 应用程序渗透。
作者 | Andrew Long
译者 | 明明如月,责编 | 夕颜
封图 | CSDN下载自视觉中国
出品 | CSDN(ID:CSDNnews)