safe
對于要調用的任何代碼(甚至是惡意代碼)完全無害?梢韵衿渌泄艽a一樣使用。示例:獲得一天中的時間。
native
安全中立;即,需要非托管代碼權限才能調用的非托管代碼。將檢查安全性,這將阻止未經授權的調用方。
unsafe
忽略安全且具有潛在危險性的非托管代碼入口點。開發人員在使用這種不安全代碼時應十分謹慎,同時應確保其他保護措施已就位,以避免安全漏洞。當該關鍵字重寫安全系統時,開發人員必須完全負責。
用戶輸入用戶數據是指任何類型的輸入(來自 Web 請求或 URL 的數據、對 Microsoft Windows 窗體應用程序控件的輸入等等),它可以對代碼造成負面影響,因為這些數據通常被直接用作調用其他代碼的參數。這種情況與惡意代碼使用陌生參數調用您的代碼相似,應當采取相同的預防措施。用戶輸入實際上更難保證安全,這是因為沒有堆棧幀對出現的潛在不受信任數據進行跟蹤。
在需要查找的安全性錯誤中,這些錯誤是最細微和最難找到的,這是因為盡管它們可以存在于表面上與安全無關的代碼中,但它們卻是將有問題的數據傳遞給其他代碼的通路。要找到這些錯誤,請跟蹤任何類型的輸入數據,想象可能值的范圍,并考慮查看該數據的代碼是否可以處理所有這些情況。您可以通過范圍檢查和拒絕代碼無法處理的所有輸入來修復這些錯誤。
涉及用戶數據的某些常見錯誤包括:
•在客戶端上,服務器響應中的所有用戶數據都會運行在服務器站點的上下文中。如果 Web 服務器取得用戶數據并將它插入返回的 Web 頁中,則它可能(例如)包括 <script> 標記,并且運行時好像來自服務器。
•請記住,客戶端可以請求任何 URL。
•考慮那些復雜或無效的路徑:
•..\,非常長的路徑。
•使用通配符 (*)。
•令牌擴展 (%token%)。
•具有特殊含義的陌生格式的路徑。
•
文章來源于領測軟件測試網 http://www.kjueaiud.com/