想當一個黑客,該如何學習漏洞挖掘?看知乎大神的回答

作者:Terry Zhang

來源:知乎

著作權歸作者所有。商業(yè)轉載請聯(lián)系作者獲得授權,非商業(yè)轉載請注明出處。

國內學習漏洞挖掘習慣先進行所謂的“打基礎”,啃各種編程書,然后再去學習漏洞挖掘,這樣的問題在于無法控制好學編程的程度,而且先單純的學習編程也是極其枯燥的,可能很多人無法堅持。下面來說下國外同學一般得學習過程:

既然我們不是要去深造編程技術,而主要為了學習漏洞挖掘。我建議首先先把編程打個底子,底子的概念是:“掌握該語言的基本語法,常用函數(shù),寫幾個demo即可。”有了底子再去看以前的漏洞分析文章,看的過程中會發(fā)現(xiàn)吃力的點,這樣再有目的的去跟進相關的編程技術點。而不是先一味的去啃編程書。

比如學習PHP漏洞挖掘:

先掌握php基本語法,常用php函數(shù),對常用的php函數(shù)寫一些demo。然后開始看以前php應用漏洞分析的文章,開始的一些基本漏洞比如簡單的純get,post沒有intval或者強制轉換造成的sql注入,比如沒有htmlspecialchar造成的簡單xss??催@些基本的東西我們之前打的底子就完全夠用了。

然后我們看一些較高級漏洞的利用,比如各種變量覆蓋漏洞,比如unserialize造成的代碼執(zhí)行,我們開始看的時候可能會覺得吃力。那就需要回過頭去先看看extract等函數(shù)具體用法,for each對$_REQUEST進行變量生成的過程是怎樣的,unserialize函數(shù)的執(zhí)行流程是怎樣的。然后再去看之前的技術文章就會豁然開朗了。這只是基本的php漏洞挖掘,熟練了之后嘗試著去看一些框架的漏洞分析,比如thinkphp,這些又涉及到OOP的相關知識,那么再回過頭去學習PHP OOP編程,然后再繼續(xù)。如此循環(huán)下來,邊學習漏洞挖掘邊學習編程,這樣的效率和效果都要比先單純的啃編程書要強很多。這也是國內外技術人員做研究的一大差異,國內喜歡先學習理論基礎,而國外注重先應用,應用的過程中遇到困難再去學習理論基礎。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容