1.通讀全文法
2.函數(shù)回溯法(工具審計(jì))
3.定向功能分析法
?具體
1.通讀全文法: 通讀全文:顧名思義,就是通過對(duì)整個(gè)程序的代碼進(jìn)行閱讀芹关,從而發(fā)現(xiàn)問題续挟,這種方法是最全面的,但也是最麻煩的侥衬,最容易出錯(cuò)诗祸。
如果是大型程序源碼,代碼量非常大轴总,相當(dāng)耗費(fèi)時(shí)間直颅,這種方法一般是企業(yè)對(duì)自己自身產(chǎn)品進(jìn)行審計(jì),當(dāng)然怀樟,這種方法非常有用功偿,通過閱讀得到整個(gè)應(yīng)用的業(yè)務(wù)邏輯,可以挖掘到更多具有價(jià)值的漏洞往堡,對(duì)于小型程序源碼械荷,也可以使用這種方法進(jìn)行審計(jì)。
2.函數(shù)回溯法:大多數(shù)的漏洞是因?yàn)楹瘮?shù)的使用不當(dāng)造成的虑灰,只要找到這些使用不當(dāng)?shù)暮瘮?shù)吨瞎,就可以快速的發(fā)現(xiàn)想要挖掘的漏洞。
這種方法相對(duì)比較快速和高效穆咐,也可以使用工具進(jìn)行審計(jì)颤诀,工具的原理是利用正則表達(dá)式,匹配一些危險(xiǎn)的函數(shù)对湃、敏感關(guān)鍵字崖叫,然后得到這些函數(shù),就可以分析閱讀上下文拍柒,追蹤源頭归露。
3.定向功能分析法:該方法主要是根據(jù)程序的業(yè)務(wù)邏輯和業(yè)務(wù)功能進(jìn)行審計(jì)的,首先大概瀏覽網(wǎng)站的頁(yè)面斤儿,比如有上傳功能剧包,有瀏覽功能恐锦,可能猜測(cè)到這個(gè)程序有上傳漏洞、XSS漏洞等疆液,可以大概的推測(cè)它有哪些漏洞一铅,然后再針對(duì)猜測(cè)的結(jié)果,進(jìn)行定向分析堕油。 常見的功能漏洞:
程序初始安裝漏洞
站點(diǎn)信息泄露
文件上傳管理
登錄認(rèn)證潘飘、權(quán)限管理漏洞
數(shù)據(jù)庫(kù)備份漏洞
驗(yàn)證碼漏洞等
分析與總結(jié)
代碼審計(jì)方法涵蓋了上述的三種方法,總結(jié)一下
- 首先掉缺,不管是什么程序都要把握大局卜录,了解它的大致結(jié)構(gòu)
- 其次,根據(jù)定向功能發(fā)對(duì)每一項(xiàng)功能進(jìn)行審計(jì)眶明,可以根據(jù)網(wǎng)站的架構(gòu)使用不同的方法進(jìn)行分析艰毒,三者結(jié)合起來效果最佳
- 最后,可以將敏感函數(shù)回溯搜囱,發(fā)現(xiàn)漏洞的起源地