2015-09-05 61 views
4

JavaScript可以訪問自動填充的密碼,這是否被認爲是安全風險?我知道存儲的密碼通常與域名嚴格相關,但有時Chrome會建議其他網站的用戶名和密碼(如果該域當前沒有存儲密碼)。JavaScript可以訪問自動填充的密碼嗎?

(這可以通過瀏覽器有所不同,我猜)

+1

我從未見過Chrome爲其他網站提供用戶名或密碼。只有其他領域。 – Quentin

+0

我想這個問題的範圍可以擴大到包含地址建議隱私等內容。 – oink

回答

2

Chrome的自動填充在兩種情況下的細節:

  1. 當明確告知要記住憑據爲特定網站
  2. 當它認爲它認爲它可以自動填充字段和用戶接受建議值(和這些值不會是密碼)

儘管JavaScript可以讀取這些字段,但如果沒有用戶的明確指示,它們將不會被填充。

這確實增加了風險的程度,因爲用戶可能會意外地錯誤地確認數據,該水平被認爲是低。

+0

您的里程可能因其他瀏覽器而異。 – SilverlightFox

2

這絕對是可能的(可行)與JavaScript的密碼存儲在本地。

這是因爲javascript本身就是一個面向語言的客戶端。

例如,如果您編寫了一些javascript來改變輸入字段的屬性,使得「type ='password'」改爲「type =''」,那麼密碼將顯示在用戶瀏覽器中,並且沒有阻塞blob。

用JavaScript你也有機會獲得通過採取密碼字段提供的,無論它是否被blobbed出來的值。

這與其說是一個安全漏洞,因爲它真的只有一個客戶機和各種技術內置於現代的瀏覽器上使用的確實確保這類內容的相當好的工作。

這也是一個原因,它是最好的,以跟上最新的安全軟件和補丁程序。

作爲一個例子。如果您要使用localstorage.setitem()行中的任何內容在提交密碼之前在其計算機上存儲suers密碼,那麼密碼將保留在其機器上,並以純文本形式保存。

然而,你也可以設計一個Web應用程序超過一個HTTP請求發送的用戶密碼。

然而,在實踐中,這將是由用戶容易觀看和更容易然後通過多個源(故障)進行標記。

+0

如果網站上存在任何跨站點腳本漏洞(XSS),則預先填充這些值的瀏覽器可以使自動攻擊工作,以抓取用戶憑據並將其發送給攻擊者。 – SilverlightFox

+0

我並不完全確定你的問題在這裏。但大多數瀏覽器都打包了一些方法來試圖阻止這些攻擊。然而,比如cors,你會想把它放在你自己的手中,以更好地保護你的網站並做一些關於數據安全的研究。 –

+0

我沒有問任何問題。 ;)瀏覽器XSS過濾器不是絕對可靠的。我指出在XSS易受攻擊的站點上預先填寫密碼的瀏覽器是一個高風險漏洞。 – SilverlightFox