[程式碼審計]web程式對客戶端資料加解密帶來的安全問題

wyzsk發表於2020-08-19
作者: Yaseng · 2013/08/19 11:26

0x00 前言


對於一個完善系統而言,無論是桌面還是web程式, 都會使用客戶端儲存資料如cookie,db檔案等。為了不讓外部獲取或者控制,系統會對資料進行私有加密 例如qq密碼,聊天記錄,web程式中使用者資訊等。而對於開源程式而言,演算法是公開的,對資料的加密只有依靠key來保護資料 ,一旦資料可控就可能造成某些安全問題,本文探討web開源程式中對私有資料的使程式碼的安全性問題。

0x01 直搗黃龍:key可知


某些加密key可推算抑或可爆破情況下,私有資料資料完全可控,根據實際環境sql注入,xss,越權等攻擊。

例如:

WooYun: Espcms v5.6 暴力注入

WooYun: dedecms sql injection

PHPCMS V9 sys_auth()設計缺陷導致多個SQL隱碼攻擊漏洞

0x02  隔山打牛:key不可知


為了資料和程式碼的統一,一套系統中資料的加密解密key一般是通用的,我們可以利用程式的某些功能來生成加密之後的資料,從而控制程式的私有資料,進行攻擊。

類似的案例如:

WooYun: PHPCMS最新版(V9)SQL隱碼攻擊一枚

WooYun: espcms 二次注入一枚

WooYun: Espcms加密函式缺陷導致getshell

0x03 總結


當變數能控時,一切資料都是危險的,程式除了對輸入輸出的資料做嚴格過濾之外,對內部私有資料也要相應的過濾。

本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!

相關文章