代碼審核不是簡(jiǎn)單的檢查代碼,審核代碼的原因
2021-06-23
3.2 設(shè)置 8
3.3 路徑設(shè)置8
3.4 持續(xù)時(shí)間 8
3.5 設(shè)置 8
3.6 固定 9
3.7 CSRF 9
4. 9
4.1 明文存儲(chǔ)密碼 9
4.2 弱密碼加密9
4.3 密碼存儲(chǔ)在攻擊者可訪問(wèn)的文件中 9
5.認(rèn)證授權(quán)10
5.1用戶(hù)認(rèn)證10
5.2 未經(jīng)身份驗(yàn)證的函數(shù)或文件調(diào)用 10
5.3 密碼硬編碼 10
6. 函數(shù) 10
6.1 rand() 10
6.2 () 和 () 11
7.特殊字符和多字節(jié)編碼11
7.1多字節(jié)編碼11
8.PHP危險(xiǎn)函數(shù)11
8.1緩沖區(qū)溢出11
8.2()刪除文件漏洞12
8.3 ()- 漏洞 12
9.信息泄露 13
9.1 13
10. PHP 環(huán)境 13
10.1 設(shè)置 13
10.2 設(shè)置 13
10.3 設(shè)置 13
10.4 設(shè)置 14
10.5 設(shè)置 14
10.6 設(shè)置 14
10.7 設(shè)置 14
10.8 d 設(shè)置 14
10.9 設(shè)置 14
10.10 設(shè)置 14
概述
代碼審查是系統(tǒng)地檢查應(yīng)用程序源代碼的工作。它的目的是找到并修復(fù)應(yīng)用程序
應(yīng)用程序開(kāi)發(fā)階段存在一些漏洞或程序邏輯錯(cuò)誤,避免程序漏洞被非法使用,給企業(yè)帶來(lái)不必要的使用
所需的風(fēng)險(xiǎn)。
代碼審查不僅僅是檢查代碼。審查代碼的目的是為了確保代碼可以安全地訪問(wèn)信息和資源。
足夠的保護(hù)php代碼審核,所以熟悉整個(gè)應(yīng)用的業(yè)務(wù)流程對(duì)于控制潛在風(fēng)險(xiǎn)非常重要。審稿人
您可以使用類(lèi)似于以下的問(wèn)題來(lái)采訪開(kāi)發(fā)人員以收集應(yīng)用程序信息。
應(yīng)用程序中包含什么類(lèi)型的敏感信息,應(yīng)用程序如何保護(hù)這些信息?
應(yīng)用程序是在內(nèi)部還是外部提供服務(wù)?誰(shuí)會(huì)使用它,他們都是值得信賴(lài)的用戶(hù)嗎?
應(yīng)用程序部署在哪里?
應(yīng)用程序?qū)I(yè)務(wù)重要嗎?
最好的方法是制作一個(gè),讓開(kāi)發(fā)者填寫(xiě)??梢愿庇^的體現(xiàn)應(yīng)用
開(kāi)發(fā)者提供的信息和編碼是安全的,應(yīng)該覆蓋可能存在嚴(yán)重漏洞的模塊php代碼審核,例如:數(shù)據(jù)驗(yàn)證、身份
身份驗(yàn)證、會(huì)話(huà)管理、授權(quán)、加密、錯(cuò)誤處理、日志記錄、安全配置、網(wǎng)絡(luò)架構(gòu)。
輸入驗(yàn)證和輸出顯示
大部分漏洞主要是由于無(wú)法驗(yàn)證輸入數(shù)據(jù)的安全性或輸出數(shù)據(jù)無(wú)法通過(guò)安全的地方造成的
更嚴(yán)格的數(shù)據(jù)驗(yàn)證方式是:
完全匹配數(shù)據(jù)
接受白名單數(shù)據(jù)
拒絕列入黑名單的數(shù)據(jù)
對(duì)匹配黑名單的數(shù)據(jù)進(jìn)行編碼
用戶(hù)可以在PHP中輸入的變量列表如下:
$
$_GET
$
$
$
$
$_ENV