2014-03-18 141 views
0

假設用戶忘記了自己的密碼並要求通過電子郵件鏈接進行重置。該電子郵件可能包含一個URI鏈接來重置他們的密碼。如果這是Android或iOS中的註冊URI方案的URI,是否安全?自定義URL方案是否安全?

例如,如果URI已廣播給偵聽器應用程序,惡意應用程序是否可以使用此URI並在幕後重置原始站點用戶的登錄用戶名和密碼?

惡意應用程序是否可以註冊以接收來自任何域的鏈接,或者是否存在限制? (iOS或Android)


更新:我談論的深層鏈接是:

+0

這個問題是相當廣泛 - 「安全」的解決方案需要在應用和/或用戶的需求的背景下進行評估 - 如果需要重置密碼全部是訪問密碼重置鏈接並且該鏈接可能被攔截,那麼你需要確定這是否可以接受你的情況。如果賬戶提供低價值信息(比如說聊天論壇),這可能就足夠了。如果是銀行網站,那麼一旦他們訪問重置鏈接,您可能會想要進一步詢問用戶。在iOS上,應用程序無法攔截電子郵件 – Paulw11

+0

我認爲我濫用了深度鏈接。這對iOS開發人員和Web開發人員意味着不同的事情。我對自定義網址方案感興趣。如MYAPP://路徑/要/什麼/我/想d =此%圖20是%20A%20test 通過不安全的,我的意思是,在我的例子,我應該擔心編碼密鑰或訪問令牌? URI。對於網址,我認爲這不是一個大問題(是的,在URL中編碼訪問令牌通常是安全的)。對於自定義URI方案,我不確定。已經更新了這個問題。 – user48956

回答

1

周圍沒有安全iOS中自定義URL方案的註冊。 Apple的文檔狀態

如果有多個第三方應用程序註冊處理相同的URL方案,那麼目前還沒有確定將該方案授予哪個應用程序的過程。

我不確定Android上的情況,但我懷疑它是相似的 - 該方案只是列在清單文件中。

對於有人利用這一點,他們需要

  1. 確定你的技術& URI格式
  2. 工藝的應用,以利用它
  3. 獲取該應用程序到應用程序商店(站成蘋果應用程序商店更棘手 - 應用程序實際上必須是一個'特洛伊木馬' - 提供利用功能第二的一些主要價值
  4. 獲取用戶安裝應用程序
  5. 等待用戶忘記自己的密碼

按我給你的問題的評論,您需要評估在你的應用的背景下,風險和什麼帳戶授予訪問權限,但表面的可能性上的漏洞似乎很低

+1

對於Android,有一個'intent'方案用於通過應用程序ID(包名稱)將URI映射到特定的應用程序意圖,這些ID必須是唯一的才能在Play商店中使用:https://developers.google.com/chrome/移動/文檔/意圖 – jerluc

2

在Android設備上,如果多個應用程序使用相同的Deeplink URI方案註冊,我相信您會收到一個選擇器對話框。這允許用戶選擇哪些應用程序實際使用來解決深層鏈接URI和完成動作:

Complete action intent chooser dialog

不完全知道爲什麼的iOS沒有選擇來實現類似的東西,但我想像這是因爲它有時會提供一些不方便和/或令人困惑的用戶體驗。