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

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