尤川豪   ·  2月前
Exp. 1,940  ·  247 貼文  ·  185 留言

驗證時 使用普通的字串比對寫法 會有資安問題?

字串比對 ... 字串比對 ...

今天留意到 php 有個函式叫 hash_equals ...

跟驗證相關的字串 用來比對時要使用 hash_equals?

直接用普通的字串比對寫法 會有資安問題?

仔細一查還真是如此 ...

https://security.stackexchange.com/questions/83660/simple-string-comparisons-not-secure-against-timing-attacks

原因是 hacker 可以藉由字串比對被拒絕的速度 知道是錯在字串的哪個大概位置 ...

越快得到 response 代表越前面就出錯 ... 越慢得到 response 代表越後面出錯 ...

本來暴力破解要猜 (可能字元^長度)的次數 ... 變成 (可能字元*長度)的次數 ...

我今天才知道 ...

學無止盡 ......

  分享   共 110 次點閱
共有 0 則留言
您的留言
  贊助本站開發,解鎖進階教材
尤川豪
Exp. 1,940  ·  247 貼文  ·  185 留言

關於作者

Devs.tw 作者,喜歡分享&建造新東西的工程師。

歡迎在 Facebook 追蹤我!不定期分享有趣技術文章!

  查看個人檔案