程式碼安全測試第十期:日誌偽造漏洞
一、什麼是日誌偽造漏洞?
應用程式通常使用日誌檔案來儲存事件或事務的歷史,以供以後檢視、收集統計資訊或除錯。根據應用程式的性質,檢查日誌檔案的任務可以根據需要手動執行,也可以使用工具自動篩選重要事件或趨勢資訊的日誌。
當日志條目包含未經過授權的使用者輸入時,會造成日誌偽造。
二、日誌偽造漏洞的構成條件有哪些?
滿足以下條件,就構成了一個日誌偽造的 安全漏洞:
1、資料是從不可靠的來源(包括但不侷限於不可靠使用者的輸入資訊或是不可靠使用者可能更改的檔案)進入應用程式;
2、資料寫入到應用程式或是系統日誌檔案。
三、日誌偽造漏洞會造成哪些後果?
關鍵詞:修改應用程式的資料;隱藏活動;執行未授權的程式碼或命令
如果攻擊者向記錄到日誌檔案的應用程式提供惡意資料,則可能會妨礙或誤導日誌檔案的解讀。最理想的情況是,攻擊者可能透過嚮應用程式提供包括適當字元的輸入,在日誌檔案中插入錯誤的條目。如果日誌檔案是自動處理的,那麼攻擊者可以破壞檔案格式或注入意外的字元,從而使檔案無法使用。透過偽造或其他方式,可能會導致日誌檔案中的統計資訊發生偏差,受到破壞的日誌檔案可用於掩護攻擊者的跟蹤軌跡,甚至還可以牽連第三方來執行惡意行為。最糟糕的情況是,攻擊者可能向日志檔案注入程式碼或者其他命令,利用日誌處理實用程式中的 漏洞。
四、日誌偽造漏洞的防範和修補方法有哪些?
1、輸入驗證:對輸入的資訊進行驗證。假設所有輸入都是惡意的,使用“接受已知好的資料”輸入驗證策略,即,使用嚴格符合規範的可接受輸入列表。拒絕任何不嚴格符合規範的輸入,或者將其轉換為符合規範的輸入。
2、輸出編碼:對要寫入日誌檔案的資訊進行編碼,使之符合日誌檔案的編碼格式要求。常見的編碼格式包括ISO-8859-1, UTF-7, 和UTF-8。
五、日誌偽造導致的漏洞樣例:
用 靜態程式碼檢測分析上述程式程式碼,則可以發現程式碼中存在著日誌偽造導致的程式碼缺陷,如下圖:
日誌偽造在CWE中被編號為CWE-117:Improper Output Neutralization for Logs
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70000012/viewspace-2774669/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 程式碼安全測試第十二期:LDAP注入漏洞LDA
- 程式碼安全測試第十五期:跨站指令碼漏洞指令碼
- 程式碼安全測試第六期:XPath注入漏洞
- 程式碼安全測試第七期:不安全的反射漏洞缺陷反射
- 程式碼安全測試第五期:OS命令注入漏洞
- 程式碼安全測試第十八期:呼叫System.exit()存在安全漏洞
- 程式碼安全測試第十一期:記憶體洩漏漏洞記憶體
- WordPress 3.8.2 cookie偽造漏洞再分析Cookie
- 如何用 burpsuite 偽造 IP 做滲透測試UI
- 程式碼安全測試第二期:URL重定向(跳轉)漏洞
- 程式碼安全測試第十六期:使用不安全的隨機值漏洞隨機
- 程式碼安全 兩種程式碼漏洞
- CSRF跨站請求偽造漏洞分析
- 程式碼安全測試第一期:什麼是SQL隱碼攻擊漏洞?SQL
- [Java/日誌] 日誌框架列印應用程式日誌程式碼的執行情況Java框架
- 程式碼安全測試第二十期:資源未關閉/釋放漏洞
- 程式碼安全測試第十三期:敏感資訊的明文傳輸漏洞
- 程式碼安全測試第二十二期:HTTP響應拆分漏洞HTTP
- 程式碼安全測試第四期:可逆的單向雜湊漏洞
- 網站安全測試之APP滲透測試漏洞網站APP
- 程式碼安全測試第二十八期:未使用的變數缺陷漏洞變數
- 程式碼安全測試第二十一期:從finally塊中return漏洞
- 網站滲透測試安全檢測漏洞網站
- 程式碼安全測試第九期:Switch中省略了break語句導致的程式碼缺陷漏洞
- 程式碼安全測試第三期:路徑遍歷漏洞的防範與檢測
- 程式碼安全測試第十九期:用不安全的授權建立臨時檔案漏洞
- 網站漏洞測試php程式碼修復詳情網站PHP
- 網站滲透測試漏洞分析程式碼架構網站架構
- 程式碼安全測試第二十九期:通用異常捕獲宣告缺陷漏洞
- 體面編碼之異常日誌和測試處理
- Cmocka 單元測試日誌記錄Mock
- 軟體測試與程式碼安全詳解
- 滲透測試之CSRF程式碼漏洞的檢測與加固方案
- 程式碼安全測試第二十五期:陣列宣告為public final static漏洞缺陷陣列
- 程式碼安全測試第二十四期:數字型別的不正確轉換漏洞型別
- 如何在程式碼中打日誌
- kafka-log日誌程式碼解析Kafka
- 在python程式碼 出力log日誌Python