1.     最近幾年沒有jwt相關的漏洞,( https://www.cvedetails.com/product/35664/Jwt-Project-JWT.html?vendor_id=16053 ),有沒有漏洞主要看如何應用jwt

2.     已經有許多公司導入jwt取代登入機制,運用方式有

2.1. 寫cookie 但是會將cookie安全性提升httpOnly secure https 限定domain存取、時效性 的方式加強安全性(https://devco.re/blog/2014/06/11/setcookie-httponly-security-issues-of-http-headers-3/)

2.2. local storage 我沒有使用過,不過資料量比較大的時候,存放local storage是一種作法(可以避免日後app開發時儲存的問題)

2.3. oauth 有一種實現方式中的是使用jwt,access token / refresh token 配合上面兩種儲存的方式進行,增加安全性

但是參考 https://anil-pace.medium.com/json-web-tokens-vs-oauth-2-0-85dd0b32057d (這篇的說法是說不要存在local storage)

http://cryto.net/~joepie91/blog/2016/06/13/stop-using-jwt-for-sessions/ (這篇是說不要用jwt取代session)

建議web使用refresh token & cookie存放,app存放在local storage,加上驗證client IP來防止cookie被盜時,偽裝client發請求或是繞過。

Pass the cookie

https://www.ithome.com.tw/news/142230

(Pass the cookie手法是指,攻擊者利用竊取來的連線cookie來驗證、登入到Web應用或服務。由於連線已經過驗證,使攻擊者可繞過某些MFA協定。) https://embracethered.com/blog/posts/passthecookie/

jwt decode

Jwt的encoded是可以解開的,詳見下圖,可以在https://jwt.io/ 驗證

參考 https://codertw.com/%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80/724248/

https://devco.re/blog/2014/03/10/security-issues-of-http-headers-1/

https://devco.re/blog/2014/04/08/security-issues-of-http-headers-2-content-security-policy/

https://devco.re/blog/2014/06/11/setcookie-httponly-security-issues-of-http-headers-3/

最後修改日期: 28/01/2021

作者

留言

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。