業務邏輯漏洞探索之敏感信息泄露


小張通過某網購買了一張從北京到廣州的飛機票,沒多久竟收到一條詐騙短信,短信內容中有他的航班信息、機場名稱、航班號等,所有信息全部屬實。小張認為,自己的手機號及確切的航班信息只有某網和該航空公司知道,因而推斷一定是其中一個機構泄露了自己的個人信息。可事實真如他所想的這樣嗎?

 

個人信息泄露的主要途徑包括經營者未經本人同意收集個人信息,經營者或不法分子故意泄露、出售或者非法向他人提供個人信息,網絡服務系統存有漏洞,不法分子通過木馬病毒、釣魚網站等手段盜取、騙取個人信息等。所以小張推斷是某網或者航空公司泄露的信息並不一定准確,也可能是其他渠道造成的。

今天我們就來學習一下業務邏輯漏洞探索之敏感信息泄露的相關內容,希望對大家有所幫助。

敏感信息是業務系統中保密性要求較高的數據,通常包括系統敏感信息和引用敏感信息。系統敏感信息指的是業務系統本身的基礎環境信息,比如系統信息,中間件版本之類的,一旦泄露可能會協助攻擊者提供更多的攻擊途徑和方法;應用敏感信息指的是應用中存儲的重要業務數據,比如用戶注冊時提供的一些信息,身份證、姓名、電話號碼等,泄露后可能會對應用的用戶帶來危害,比方說去年12月發生的萬豪酒店敏感信息泄露事件。

注:本文中提供的例子均來自網絡已公開測試的例子,僅供參考。

我們可以分為以下幾種場景進行測試:

 

敏感信息傳輸

在業務流程中,許多敏感信息需要從客戶端提交到服務端,如果沒有采取合理的加密措施,在提交到服務端的過程中可能被第三方截取,從而產生信息泄露風險。

舉個例子:

a) 某系統修改密碼的時候,發現通過JSON進行傳輸的過程中,可以看到明文的新舊密碼。

 

敏感信息顯示

通常情況下應用敏感信息在客戶端顯示時需要進行脫敏,密碼等部分用戶信息是不應該在客戶端顯示的,如果程序設計時在這部分沒有進行很好的處理,就會產生敏感信息泄露漏洞。

舉個例子:

a) 某系統登錄頁面存在缺陷,導致敏感信息泄露。

 

b) 查看源代碼,可看見登錄密碼。

 

 

c) 使用admin/gohigh1234可使用管理員權限登錄,可查看各種信息。

 

 

客戶端代碼注釋

客戶端代碼注釋有可能泄露系統敏感信息,對一些核心代碼進行技術注釋也有可能會幫助攻擊者解讀代碼,為攻擊者提供便利,通常要求客戶端代碼不能包含注釋,尤其是不能包含核心代碼的技術注釋。

舉個例子:

a) 某系統智能門禁管理系統存在邏輯漏洞導致上萬用戶敏感信息泄露。

 

 

b) 查看源代碼發現有一段注釋代碼,發現存在用戶名和登錄密碼及請求路徑。

 

 

c) 登錄后發現有大量的客戶敏感信息,包含身份證、業主卡號等等。

 

 

 

錯誤處理測試

不安全的錯誤處理方法可能泄露系統或應用的敏感信息,手工測試的過程中應留意各類錯誤信息,如果發現錯誤信息中包含系統或應用敏感信息,則進行記錄。

舉個例子:

某平台sqlserver沒有對錯誤進行正確的處理,將詳細的錯誤信息展示出來,暴露出數據庫列名。

 

 

修復建議

以上就是對於敏感信息泄露的一些總結,越來越頻發的用戶信息泄露事件也讓我們不得不反思,如何在大數據時代,保護我們的敏感信息。

以下是對於敏感信息泄露防護的建議:

1、應根據業務特點定義出系統存儲的敏感信息。

2、敏感信息在存儲、傳輸、顯示時應進行安全處理,可采用的處理方式為加密或脫敏。

3、敏感信息不應使用GET方式提交到服務器。

4、用戶密碼為最高級別的敏感信息,在存儲、傳輸、顯示時都必須加密。

5、需要選擇可靠的加密算法,優先選擇不對稱加密算法,不得使用BASE64等編碼方式進行“加密”。

6、對於一些系統默認報錯頁面應重新進行設計自定義報錯頁面,以免暴露系統敏感信息。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM