在網站的登陸中,如果不做處理,那么用戶名和密碼將會在post表單中以明文的方式通過http傳遞給server。如果http請求被截獲,那豈不是意味著用戶名和密碼的泄漏?如何避免這個問題?
2 回答

忽然笑
TA貢獻1806條經驗 獲得超5個贊
HTTPS是讓請求~~截獲不了~~(敘述不準確,其實也是截獲了沒有用)??蛻舳嘶煜?strong>截獲了沒有用。
從截獲了沒有用的思路上說,簡單的單向Hash確實意義不大,攻擊者偽造一模一樣的POST(重放攻擊)就能成功登陸。所以要使用加鹽(SALT)Hash。
服務器發送給客戶端的登陸頁面里嵌上一個一次性且有時效性的字符串Salt,客戶端在傳回密碼時將Salt和密碼連接在一起進行Hash再提交。這樣客戶端每次登錄,由于獲取到的Salt不同,產生的Hash值也不同,且登錄后本次使用的Salt/Hash值立刻作廢,攻擊者無法通過重放截獲的信息登錄。
但是仍然并不是真正的安全:攻擊者可以攔截客戶端的登錄請求使之不能到達服務器,然后自己提交攔截的登錄請求,從而以用戶的身份登錄。(也算是中間人攻擊了吧)
但是好像HTTPS也不能完全保證抗中間人攻擊的,所以大概也就這樣了。
添加回答
舉報
0/150
提交
取消