Cryptographic Failures 加密失敗
以前稱為敏感數據泄露,這是廣泛的症狀而不是根本原因。此處重新關注與密碼學相關的漏洞,這些漏洞通常會導致敏感數據泄露或系統受損。
這類漏洞我目前理解的是采用的加密方式手段不是相對最安全的,比如可被彩虹表對應到的hash值等等
這是網上找到的
對於所有此類數據:
-
是否有任何數據以明文形式傳輸?這涉及 HTTP、SMTP 和 FTP 等協議。外部互聯網流量是危險的。驗證所有內部流量,例如,負載平衡器、Web 服務器或后端系統之間的流量。
-
默認情況下或在較舊的代碼中是否使用任何舊的或弱的加密算法?
-
是否正在使用默認加密密鑰、生成或重復使用弱加密密鑰,或者是否缺少適當的密鑰管理或輪換?
-
是否未強制執行加密,例如,是否缺少任何用戶代理(瀏覽器)安全指令或標頭?
-
用戶代理(例如,應用程序、郵件客戶端)是否不驗證收到的服務器證書是否有效?
舉個栗子:
密碼數據庫使用未加鹽或簡單的哈希來存儲每個人的密碼。文件上傳缺陷允許攻擊者檢索密碼數據庫。所有未加鹽的哈希值都可以通過預先計算的哈希值彩虹表公開。
這里涉及到加鹽salt,意思是說在密文前面或者后面隨機生成的一串字符串,然后和密文拼接到一起進行hash加密,這樣可以對抗彩虹表。
是不是salt+hash后就絕對安全呢?
當然不是,安全只是相對的:
使用簡單或快速散列函數生成的散列可能會被 GPU 破解,即使它們被加鹽。
比如MD5和SHA1
說到這里就再來加深一下md5和hash算法
MD5和Hash的區別
首先,MD5與hash都是單向加密的算法,可以把一些信息進行單向加密成固定長度的散列碼。(hash算法即常說的散列算法)
其次,MD5也是hash算法的一種,常見的hash算法還有SHA1,SHA2等
MD5也被稱為信息摘要算法,由於其算法復雜不夠,容易被暴力破解的。
SHA1算法也存在和MD5一樣的問題。
還有SHA2、SHA256、SHA512等,這些算法的復雜度相對要高,但是依然是可被破解的只是破解成本被增加了,但是一些常用的文本信息(比如密碼)的散列碼被一些專業廠端記錄下來了,還是容易被破解的,怎么辦呢?
加鹽就是比較好的方法.
這里想起一個社工的手段,在一些咖啡廳餐廳開放一個免費容易連接的釣魚wifi,通過wireshark這些進行監聽(應該有更好的偽裝手段)
整個連接到wifi的人都將被監聽,小一些的可以信息泄露,大一點訪問一些購物網站,如果cookie能被利用就能獲取到更多的信息,
甚至csrf等...
目前就了解到這,要說更深入的這方面漏洞還有些抽象。。。
