無(wú)論你是一名準(zhǔn)專業(yè)人士,安全愛好者還是經(jīng)驗(yàn)豐富的資深人士,都會(huì)看到技術(shù)領(lǐng)域正在不斷變化。本文的目的不是強(qiáng)迫你使用任何編程語(yǔ)言,而是給出要關(guān)注這些編程語(yǔ)言的原因。
前幾天我女兒?jiǎn)栁覟槭裁从羞@么多的語(yǔ)言。我告訴她,它們就像你在五金店里買的工具一樣ー同樣的工作你可以使用許多工具,但是每項(xiàng)工作都有一個(gè)最適合的工具。當(dāng)然,你完全可以把螺絲刀翻轉(zhuǎn)過(guò)來(lái),來(lái)敲擊釘子,通過(guò)這種方式你就能把釘子釘進(jìn)去,但是顯然用錘子是更聰明的做法。
接下來(lái)讓我們看下推薦的網(wǎng)絡(luò)安全相關(guān)的編程語(yǔ)言。
Python
到目前為止,Python 在網(wǎng)絡(luò)安全領(lǐng)域一直處于領(lǐng)先地位。這是一種通用的服務(wù)器端腳本語(yǔ)言(無(wú)需編譯),已經(jīng)被應(yīng)用到成千上萬(wàn)的安全項(xiàng)目中。你會(huì)發(fā)現(xiàn)絕大多數(shù)安全工具和 PoCs 都是用 Python 編寫的,這樣做是有充分理由的:它非常容易上手和使用。而且每天都會(huì)開發(fā)出許多出色的模塊來(lái)幫助你解決你可能遇到的幾乎所有問(wèn)題。即使你不打算使用它,也可能需要學(xué)習(xí)如何使用 Python 讀取/修改腳本。很有可能未來(lái)的某個(gè)時(shí)候,你會(huì)用到它。
JavaScript
每個(gè)人都討厭 JavaScript。我每天都在使用它,卻對(duì)它又愛又恨。但是,沒有其他編程語(yǔ)言可以從功能上完全替代它,而且還能在開發(fā)人員中達(dá)到相同受歡迎程度。每個(gè)主流瀏覽器都支持它,幾乎每個(gè) Web 開發(fā)人員都在使用它。如果你打算進(jìn)行網(wǎng)絡(luò)應(yīng)用程序的滲透測(cè)試,bug 賞金獵人或其他方式,那么不熟悉 JavaScript 將會(huì)給你帶來(lái)阻礙??缯灸_本漏洞(XSS)是網(wǎng)絡(luò)上最常見的漏洞之一,你猜怎么著?它一種主要基于 JavaScript 的網(wǎng)絡(luò)安全攻擊。
PowerShell
我不是 Windows 的鐵粉,我們大多數(shù)人都不再使用 Windows 了,但這并不能改變 Windows 在未來(lái)幾年將成為領(lǐng)先者的事實(shí)。銀行將使用 Windows XP 直到以后實(shí)在沒法用了為止,聯(lián)邦政府所有部門都使用 Windows (通常不是 XP . .)。那么 powershell 能為你做些什么呢?除了擦去你眼中的淚水,什么都能干。它是 Windows 機(jī)器后期開發(fā)的動(dòng)力源,并且可以做一些很酷的事情,比如轉(zhuǎn)儲(chǔ) ADFS 用戶的電子郵件和幫助提升用戶權(quán)限。
匯編語(yǔ)言
這并不適合所有人,你們不必都使用它。但是,如果不談?wù)撃嫦蚬こ?,任何安全編程語(yǔ)言清單都是不完整的。有一些非常棒的工具可以幫助進(jìn)行逆向工程,比如 IDA 和 Ghidra,但是仍然需要一些組裝。如果你對(duì)惡意軟件和逆向工程感興趣的話,學(xué)習(xí)下匯編語(yǔ)言吧。
Ruby
是的,我這里提到了 Ruby,不服來(lái)辯。
一些大型的安全工具是用 Ruby 編寫的 (曾經(jīng)使用過(guò) metasploit 嗎?) ,這有充分的理由: 它很像 Python,簡(jiǎn)單易用,并且有大量的社區(qū)支持。如果你想做一些兼職,Ruby 既可以做安全相關(guān)的活又可以接應(yīng)用程序開發(fā)相關(guān)的任務(wù)。
接下來(lái)讓我來(lái)談?wù)勀切]有被列入名單的安全相關(guān)的編程語(yǔ)言。
榮譽(yù)提名
1、Golang/Go: 一種強(qiáng)大的編程語(yǔ)言,可以編譯成穩(wěn)定的、超快的、跨平臺(tái)兼容的可執(zhí)行文件。像 GoPhish 這類的工具是用 Go 編寫的。
2、C (不是C++): 久經(jīng)考驗(yàn)的編程語(yǔ)言標(biāo)準(zhǔn)。我都想把這個(gè)放在逆向工程編程語(yǔ)言列表中了,因?yàn)榱私?C 可以*幫助你提高逆向工程和分析惡意軟件的能力。
3、HTML 和 CSS : 它倆不是編程語(yǔ)言,如果要不是覺得有些不妥,我甚至考慮將其與 JavaScript 并列了。知道如何正確和錯(cuò)誤地使用它們將有助于 Web 應(yīng)用程序滲透。
作者 | Andrew Long
譯者 | 明明如月,責(zé)編 | 夕顏
封圖 | CSDN下載自視覺中國(guó)
出品 | CSDN(ID:CSDNnews)