鍍金池/ 問(wèn)答/網(wǎng)絡(luò)安全  HTML/ 關(guān)于前端非對(duì)稱(chēng)加密中的疑惑與探討

關(guān)于前端非對(duì)稱(chēng)加密中的疑惑與探討

即使在前端非對(duì)稱(chēng)加密中,也要有一個(gè)公鑰或者私鑰暴露在客戶(hù)端,所以非對(duì)稱(chēng)加密僅僅能夠起到在傳輸層中防止被人截取讀到內(nèi)容的作用(但別人可以采取同樣的數(shù)據(jù)請(qǐng)求格式進(jìn)行加密發(fā)送請(qǐng)求)這樣絲毫起不到防止別人刷請(qǐng)求接口的作用?前端非對(duì)稱(chēng)加密的作用僅此而已嗎?請(qǐng)前輩們指教很疑惑 最好結(jié)合下前端的csrf攻擊

回答
編輯回答
北城荒

加密就是加密,不是防止別人刷接口的,刷接口可以用控頻來(lái)進(jìn)行限制;

2018年5月16日 14:39
編輯回答
神經(jīng)質(zhì)

加密最主要作用就是防止中間被截取獲悉到明文內(nèi)容。
非對(duì)稱(chēng)加密還有一點(diǎn)的作用就是,互相之間傳遞各自秘鑰加密的認(rèn)證內(nèi)容用來(lái)認(rèn)證,因?yàn)橹挥凶约撼值拿罔€能解密,就能確認(rèn)對(duì)方身份。

刷接口,你有正確的明文,有秘鑰,那你就能發(fā)出正確的加密后的信息。怎么防止刷,這是另一個(gè)問(wèn)題了。

還有如果被他人截獲了你的加密內(nèi)容,雖然他不能破解,依舊可以重復(fù)發(fā)送你的加密內(nèi)容。這種問(wèn)題也不是加密這塊要解決的。

csrf攻擊和加密沒(méi)有任何關(guān)系吧。我記得中文名稱(chēng)是跨站請(qǐng)求偽造,顧名思義,從危險(xiǎn)網(wǎng)站發(fā)出偽造的向有漏洞的網(wǎng)站的請(qǐng)求。
這個(gè)是利用瀏覽器一些自動(dòng)發(fā)出的get請(qǐng)求可以跨域(比如標(biāo)簽的src屬性,其實(shí)就是瀏覽器自動(dòng)向src指明的url發(fā)出一個(gè)get類(lèi)型的http(s)請(qǐng)求);同時(shí)http(s)協(xié)議中又會(huì)默認(rèn)帶著請(qǐng)求的domin中的cookie的特性實(shí)現(xiàn)的攻擊。

漏洞原因是,用戶(hù)的認(rèn)證信息存在了cookie里,并且沒(méi)有判斷請(qǐng)求源頭是否可靠。

所以,舉個(gè)例子,如果A網(wǎng)站是危險(xiǎn)網(wǎng)站,B網(wǎng)站是漏洞目標(biāo)網(wǎng)站,用戶(hù)a在B網(wǎng)站有賬戶(hù)。
用戶(hù)a訪(fǎng)問(wèn)了A網(wǎng)站,A網(wǎng)站有個(gè)圖片的src是向B網(wǎng)站發(fā)請(qǐng)求,這時(shí)候,這個(gè)圖片鏈接發(fā)過(guò)去的請(qǐng)求就會(huì)帶著a在B網(wǎng)站的cookie了。如果cookie里有認(rèn)證用的token,那么,就可以在A網(wǎng)站偽造a的請(qǐng)求并且完成認(rèn)證了。

2018年6月16日 22:12