程式碼安全測試第二十六期:透過錯誤訊息導致的資訊暴露

zktq2021發表於2021-06-28

一、什麼是透過錯誤訊息導致的資訊暴露缺陷?

軟體會生成一條錯誤訊息,其中包含有關其環境,使用者或關聯資料的敏感資訊。

二、透過錯誤訊息導致的資訊暴露缺陷構成條件有哪些?

敏感資訊本身可能是有價值的資訊(例如密碼),或者對於發起其他更嚴重的攻擊可能很有用。該錯誤訊息可能以不同的方式建立:

1、自生成的:原始碼顯式構造錯誤訊息並將其傳遞

2、外部生成的:外部環境(例如語言直譯器)處理錯誤並構造自己的訊息,其內容不受程式設計師的直接控制。

三、透過錯誤訊息導致的資訊暴露缺陷會造成哪些後果?

通常,這可能會洩露敏感資訊,也可能會被用於後續的攻擊,也可能儲存在伺服器中的私人資訊中。

四、透過錯誤訊息導致的資訊暴露缺陷的防範和修補方法有哪些?

內部處理異常,不向使用者顯示包含潛在敏感資訊的錯誤。如果必須對錯誤進行詳細跟蹤,請在日誌訊息中捕獲錯誤,但是要考慮如果攻擊者可以檢視日誌訊息,會發生什麼情況。避免以任何形式記錄高度敏感的資訊,如密碼。

五、透過錯誤訊息導致的資訊暴露缺陷樣例:

用悟空 軟體靜態程式碼檢測分析 述程式程式碼,則可以發現程式碼中存在著“透過錯誤訊息導致的資訊暴露” 導致的 程式碼缺陷,如下圖:

透過錯誤訊息導致的資訊暴露缺陷在CWE中被編號為CWE-209:Generation of Error Message Containing Sensitive Information


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70000012/viewspace-2778594/,如需轉載,請註明出處,否則將追究法律責任。

相關文章