1. 程式人生 > >WEB應用安全之常見安全漏洞

WEB應用安全之常見安全漏洞

資訊保安三要素:保密性、完整性、可用性

(1)保密性(Confidentiality)
即保證資訊為授權者享用而不洩漏給未經授權者。
(2)完整性(Integrity)
即保證資訊從真實的發信者傳送到真實的收信者手中,傳送過程中沒有被非法使用者新增、刪除、替換等。
(3)可用性(Availability)
即保證資訊和資訊系統隨時為授權者提供服務,保證合法使用者對資訊和資源的使用不會被不合理的拒絕。
(4)可控性(Controllability)
即出於國家和機構的利益和社會管理的需要,保證管理者能夠對資訊實施必要的控制管理,以對抗社會犯罪和外敵侵犯。
(5)不可否認性(Non-Repudiation)
即人們要為自己的資訊行為負責,提供保證社會依法管理需要的公證、仲裁資訊證據。
漏洞:硬體、軟體、協議等資訊系統元件在生命週期的各個階段(設計、實現、運維等過程)中的安全缺陷、這些缺陷會對系統的安全(保密性、完整性、可用性)產生影響。如:對資料篡改、控制等等。
滲透測試
黑盒測試:在授權的情況下,模擬黑客的攻擊方法和思維方式,來評估計算機網路系統可能存在的安全風險。
白盒測試:相對黑盒測試,白盒測試基本是從內部發起,主要是程式碼審計
SQL注入
由於程式中對使用者輸入檢查不嚴格,使用者可以提交一段資料庫查詢程式碼,根據程式返回的結果,獲得某些他想得知的資料,這就是所謂的SQL注入
SQL注入修復方法
繫結變數使用預編譯語句(引數化查詢),SQL server、MySQL、Oracle 均支援引數化查詢。
特殊情況可以使用資料型別檢查的方式,整形則強制轉換,字元型則過濾非法字元,例如 ,) "  ' = 空格 等(PHP可使用mysql_real_escape_string)
XSS
惡意使用者將程式碼注入到網頁上,其他使用者在觀看網頁時就會受到影響(如釣魚、盜取cookie)。這類攻擊通常包含了HTML以及客戶端指令碼語言。

硬體、軟體、協議等資訊系統元件在生命週期的各個階段(設計、實現、運維等過程)中的安全缺陷,這些缺陷會對系統的安全(機密性、完整性、可用性)產生影響。如,對資料進行篡改,控制等。

硬體、軟體、協議等資訊系統元件在生命週期的各個階段(設計、實現、運維等過程)中的安全缺陷,這些缺陷會對系統的安全(機密性、完整性、可用性)產生影響。如,對資料進行篡改,控制等。

硬體、軟體、協議等資訊系統元件在生命週期的各個階段(設計、實現、運維等過程)中的安全缺陷,這些缺陷會對系統的安全(機密性、完整性、可用性)產生影響。如,對資料進行篡改,控制等。