C和C ++
眾所周知,C和C ++作為構建當今我們使用的大多數軟件所使用的語言而聞名。為了了解如何破解並最終利用該軟件,有必要了解其在幕后的工作方式。

一個例子是相對較常見的,盡管過時的攻擊媒介,稱為緩沖區溢出。緩沖區溢出主要駐留在C和C ++語言中,因為諸如C之類的語言在可讀性和對硬件的控制之間提供了無與倫比的協同作用,從而允許進行低級內存訪問。
較新手的開發人員可能會使用已知的“危險”功能(例如“ strcpy”)在不經意間將漏洞納入其代碼中。特別是strcpy函數接受兩個字符串參數,然后將一個字符串的內容復制到另一個字符串中。
與此相關的問題在於,strcpy不會檢查目標字符數組是否分配了足夠的內存來存儲源字符數組的內容。這會導致程序內存中的數據損壞,並可能使攻擊者在您的計算機上執行自己的代碼。
為了識別編譯代碼中的某些偽像,必須對用於開發程序的語言有相對深入的了解,因此,學習C被視為學習黑客技術的重要因素。
簡而言之,我們生活的世界主要建立在C之上-為了幫助保護我們生活的世界,我們必須首先知道它的工作方式以及如何打破它。
Python
Python是一種功能非常強大的編程語言,其對黑客的使用完全取決於當前的情況。例如,Python可用於連接和評估客戶端要求您進行滲透測試的服務,創建自己的工具(例如端口掃描程序)或對密碼和Web服務進行蠻力攻擊。
正是這種自動化水平使攻擊者能夠快速創建非常有用的工具,使他們能夠輕松適應新情況。
許多黑客工具也是用Python編寫的,並且了解該語言可以使我們擴展我們正在使用的工具/框架,以使其適應我們的需求。

結論
總之,編程知識對黑客有許多潛在的應用。您可以編寫自己的工具,擴展其他人的工具,對當今我們所廣泛依賴的系統有更深入的了解,並利用這些知識來打破它們-清單可以無限期地繼續下去。
然而,事實是,您“應該”學習的語言可能不適用於您想要做的事情。如果您主要從事Web App測試,則可能永遠不會使用C;如果您主要從事反向工程惡意軟件,則可能永遠不會使用Python。
正是這種行業多樣性提供了以下建議:
確定感興趣的領域
根據您要學習的知識發展技能
使用這些技能來打破,破解和修復您感興趣的內容
獨自成為“好黑客”