學(xué)習(xí)代碼審計要熟悉三種語言,總共分四部分去學(xué)習(xí)。第一,編程語言。1.前端語言html/js/dom/元素的使用主要是為了挖掘xss漏洞。jquery主要寫一些涉及CSRF腳本或DOMXSS、JSON劫持等。2.后端語言的基本語法要知道,比如變量類型、常量、數(shù)組(python是列表、元組、字典)、對象、調(diào)用、引用等。,MVC設(shè)計模式要清晰,因為大部分目標(biāo)程序都是基于MVC寫的,包括不限于php、python、java。不用寫,但一定能理解,要理解邏輯,知道哪些功能點可以寫,哪些漏洞可能會出現(xiàn),便于挖掘常規(guī)漏洞,更方便挖掘邏輯漏洞。
第二,滲透技巧。一:工具滲透,如sqlmap,burpsuite等,為什么可以使用工具來挖掘你還在人工審計做什么,以及輔助調(diào)試。二是手工滲透。三是原因。為解滲透技巧的一個原因是,當(dāng)你發(fā)現(xiàn)漏洞時,常的開發(fā)基礎(chǔ)不足以構(gòu)筑PAYLOAD,需要特殊的PADYLOAD構(gòu)造方式。其次,在尋找漏洞時,有助于更快地挖掘漏洞,如果對這些代碼審計不太懂卻又想對自己的網(wǎng)站或公司的平臺進行全面的代碼審計的話可以去網(wǎng)站安全公司看一看,國內(nèi)像SINESAFE,鷹盾安全,綠盟,大樹安全都是做代碼審計的安全公司。
第三,輔助技術(shù)。1.協(xié)議,如HTTP傳輸模式、dict://file://等。,知道如何偽造Header頭,如XFF注入時的x-forward-for,cookie注入,CRLF身份請求偽造等。二、程序構(gòu)建你在審計時要學(xué)會程序構(gòu)建,否則在靜態(tài)審計時,不能進行動態(tài)調(diào)試,方便你更快更高效地挖掘漏洞。3.網(wǎng)址鏈接結(jié)構(gòu)或網(wǎng)址路由。4.SQL句子和數(shù)據(jù)庫特性主要涉及SQL注入和sql注入的payload結(jié)構(gòu)。5:中間部件和服務(wù)器特性的代碼漏洞是基于中間部件和服務(wù)器特性的,例如IIS6.0分析nginx分析漏洞等。審計輔助工具IDE,phpstrom審計工具在跟蹤代碼時使用,可與xdebug綁定使用方便調(diào)試②源代碼審計工具rips,seay審計工具,幫助您更快地找到漏洞產(chǎn)生點。
第四,漏洞挖掘。1.了解漏洞類型的原理。2.知道危險函數(shù)參數(shù)使用不當(dāng)造成的漏洞威脅,如指令執(zhí)行代碼執(zhí)行、assert、array_map、usort等。3.知道php函數(shù)的脆弱性。php審計技巧。php版本和配置不當(dāng)結(jié)合函數(shù)使用不當(dāng)造成的漏洞威脅。成長階段:demo案例練習(xí)->漏洞代碼審計案例分析->小型cms單漏洞實例練習(xí)->小型cms漏洞多種漏洞實例挖掘練習(xí)->框架漏洞挖掘?qū)嵗毩?xí)->技術(shù)挖掘。
產(chǎn)品推薦