證書鎖定Certificate Pinning技術


證書鎖定Certificate Pinning技術
 
在中間人攻擊中,攻擊主機通常截斷客戶端和服務器的加密通信。攻擊機以自己的證書替代服務器發給客戶端的證書。通常,客戶端不會驗證該證書,直接接受該證書,從而建立起和攻擊機的安全連接。這樣,客戶端發送的數據,都會被攻擊機獲取和解密。
 
證書鎖定Certificate Pinning是SSL/TLS加密的額外保證手段。它會將服務器的證書公鑰預先保存在客戶端。在建立安全連接的過程中,客戶端會將預置的公鑰和接受的證書做比較。如果一致,就建立連接,否則就拒絕連接。
 
Certificate Pinning在手機軟件中應用較多。因為這些應用連接的服務器相對固定,可以預先將服務器的X509證書或者公鑰保存在App中。例如,蘋果應用商店Apple App Store就預置了這個功能。當使用中間人工具或者Fiddler之類的工具攔截數據,就會造成應用商店無法聯網的情況。
 
在滲透測試中,遇到這類技術,有三種解決辦法。第一種是從系統層面禁用證書鎖定驗證功能。第二種是反編譯軟件,將其保存的公鑰替換為攻擊機的證書。第三種,如果該目標不是分析的對象,可以設置代理時忽略其要連接的服務器,不進行攔截和修改。
 
 
PS:如果在手機上采用第一種或者第二種方式,就需要手機root或者越獄。

 


免責聲明!

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



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