1.通讀全文法
2.函數(shù)回溯法(工具審計(jì))
3.定向功能分析法
?具體
1.通讀全文法: 通讀全文:顧名思義,就是通過(guò)對(duì)整個(gè)程序的代碼進(jìn)行閱讀,從而發(fā)現(xiàn)問(wèn)題,這種方法是最全面的,但也是最麻煩的,最容易出錯(cuò)。
如果是大型程序源碼,代碼量非常大,相當(dāng)耗費(fèi)時(shí)間,這種方法一般是企業(yè)對(duì)自己自身產(chǎn)品進(jìn)行審計(jì),當(dāng)然,這種方法非常有用,通過(guò)閱讀得到整個(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é)合起來(lái)效果最佳
- 最后,可以將敏感函數(shù)回溯,發(fā)現(xiàn)漏洞的起源地