二、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 应用程序渗透。