懸空指針是在面向對象的編碼中,當指針對象指向另一個不再存在的對象時出現的編程缺陷。在這種情況下,指針不是鼠標指針,而是一個旨在將用戶發送到另一個對象的指針對象。此缺陷會產生細微的錯誤,隨著時間的推移,這些缺陷會...
懸空指針是在面向對象的編碼中,當指針對象指向另一個不再存在的對象時出現的編程缺陷。在這種情況下,指針不是鼠標指針,而是一個旨在將用戶發送到另一個對象的指針對象。此缺陷會產生細微的錯誤,隨著時間的推移,這些缺陷會變得更糟這是一個有經驗的黑客可以攻擊的安全問題。當程序員刪除被指向的對象但不刪除指針本身時,就會出現一個懸空的指針。在面向對象的編碼中,一個女人正在與一臺計算機倒立,在面向對象的編碼中,編碼被分割成對象,有一個稱為指針的實例。指針實例放在程序的某個地方,通常是在菜單中,并引導用戶指向另一個對象。例如,如果用戶突出顯示某個菜單的某個部分,則會出現另一個菜單-下拉菜單。這允許程序員在一個部分中設置多個對象,而不會將當程序員刪除被指向的對象時,懸垂指針錯誤就表現出來了。如果程序員也刪除了指針實例,就沒有問題了。如果程序員在編碼中忘記并保留了指針,這就產生了一個懸空指針,并出現了質量和安全問題懸空指針看起來很邋遢,會產生細微的錯誤。這是因為程序不知道如何操作,因為程序被告知要執行某些操作,但不能執行,因為對象已不存在。這種操作會生成隨機代碼或使代碼在小范圍內變差,很難檢測到的微妙的方式。這些錯誤可以很小,使程序運行得稍微慢一點,但最終可能使程序甚至計算機無法運行。大多數有懸空指針的程序在開始運行時可能會繼續工作數月甚至數年,直到錯誤變得明顯即使是進行計算的程序,也就是說懸掛指針在公式中,也可能仍然能夠進行簡單的計算。這就是為什么尋找懸掛指針如此困難的原因之一。直到2007年,懸空指針只在理論上造成了安全問題。Watchfire?軟件公司隨后制作了一個程序,展示了如何利用懸垂指針,從而使安全風險成為現實。黑客可以通過此漏洞滲透程序,并將自己的代碼注入有缺陷的程序中
-
發表于 2020-08-07 10:39
- 閱讀 ( 1059 )
- 分類:電腦網絡