學(xué)習(xí)代碼審計(jì)要熟悉三種技術(shù),分四部分走
一:編程語(yǔ)言?
1:前端語(yǔ)言 html/javascript/dom元素使用 主要是為了挖掘xss漏洞 jquery 主要寫一些涉及到CSRF腳本使用的或者DOM型XSS,JSON劫持等
2:后端語(yǔ)言 基礎(chǔ)語(yǔ)法要知道例如 變量類型,常量,數(shù)組(python 是列表,元組,字典),對(duì)象,類的調(diào)用,引用等珍语, MVC設(shè)計(jì)模式要清楚,因?yàn)榇蟛糠帜繕?biāo)程序都是基于MVC寫的型宝,包括不限于php,python,java。不用會(huì)寫,但是一定能看懂,而且要看懂邏輯,知道哪些功能點(diǎn)會(huì)用什么方式去寫,可能會(huì)出現(xiàn)什么類型漏洞,方便挖掘常規(guī)類型漏洞,更方便挖掘邏輯漏洞
二:滲透技巧?
1:工具滲透 例如sqlmap, awvs,burpsuite等 為什么使用 能用工具挖掘到你還人工審計(jì)干什么,及輔助調(diào)試
2: 手工滲透
3: 原因
為什么要懂滲透技巧 其一在于你找到漏洞的時(shí)候,通常的開發(fā)功底是不足以構(gòu)造PAYLOAD的,需要一些特殊的PADYLOAD構(gòu)造方式。其二你在找漏洞時(shí),可以輔助你更快的去挖掘漏洞
三:輔助技術(shù)
1:協(xié)議 例如HTTP傳輸方式,dict:// file://等,懂得Header頭如何偽造 比如XFF注入時(shí)的x-forward-for,cookie注入,CRLF身份請(qǐng)求偽造等。
2:程序搭建? 你審計(jì)時(shí)要學(xué)會(huì)程序搭建,不然靜態(tài)審計(jì)時(shí)刹勃,無(wú)法進(jìn)行動(dòng)態(tài)調(diào)試,方便你更快更高效挖掘漏洞
3:URL鏈接構(gòu)造或者URL路由?
4:SQL語(yǔ)句及數(shù)據(jù)庫(kù)特性? 這個(gè)主要涉及到SQL注入及sql注入的payload構(gòu)造繞過(guò)
5:中間件及服務(wù)器特性? 有的代碼漏洞 是基于中間件及服務(wù)器特性造成的? 例如IIS6.0的解析 nginx的解析漏洞等
6:審計(jì)輔助工具 ①IDE,phpstrom 審計(jì)工具追蹤代碼時(shí)用到,可與xdebug綁定使用方便調(diào)試②源代碼審計(jì)工具 rips嚎尤,seay審計(jì)工具,輔助你更快的找到漏洞產(chǎn)生點(diǎn)
四:漏洞挖掘
1:懂得漏洞類型產(chǎn)生原理
2:懂得危險(xiǎn)函數(shù)的參數(shù)不當(dāng)使用可造成的漏洞威脅? 例如涉及到命令執(zhí)行代碼執(zhí)行的eval,assert,array_map,usort等,例如本身函數(shù)的脆弱性,is_numeric,md5等
3:曉得php函數(shù)的脆弱性 比如==與===? ,===并不是強(qiáng)大無(wú)比不可繞過(guò)的,也要結(jié)合代碼設(shè)計(jì)邏輯
4:php的淫技技巧
5:php版本及配置不當(dāng)結(jié)合函數(shù)不當(dāng)利用造成的漏洞威脅
6:成長(zhǎng)階段:demo案例練習(xí)->已出漏洞代碼審計(jì)案例分析->小型cms單一漏洞實(shí)例練習(xí)->小型cms漏洞多種類型漏洞實(shí)例挖掘練習(xí)->框架漏洞挖掘?qū)嵗毩?xí)->技巧挖掘
不要覺得代碼審計(jì)很容易,也不要覺得代碼審計(jì)很難荔仁。重在堅(jiān)持,重在分析,你做到了,0day就在眼前,我們先以文字分享代碼審計(jì)0到1的系列課程,在以視頻圖書輔助,讓跟上節(jié)奏的同學(xué)人人都能代碼審計(jì)。
喜歡就點(diǎn)個(gè)關(guān)注唄~謝謝