mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-22 20:53:37 +00:00
Translated ['mobile-pentesting/ios-pentesting/ios-universal-links.md'] t
This commit is contained in:
parent
8fd22f5f74
commit
0cee9ba0ef
1 changed files with 15 additions and 14 deletions
|
@ -3,13 +3,13 @@
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert en équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert de l'équipe rouge HackTricks AWS)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Autres façons de soutenir HackTricks:
|
||||
Autres façons de soutenir HackTricks :
|
||||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
|
||||
|
||||
|
@ -18,7 +18,7 @@ Autres façons de soutenir HackTricks:
|
|||
|
||||
## Introduction
|
||||
|
||||
Les liens universels offrent une expérience de **redirection transparente** aux utilisateurs en ouvrant directement le contenu dans l'application, contournant ainsi le besoin de redirection vers Safari. Ces liens sont **uniques** et sécurisés, car ils ne peuvent pas être revendiqués par d'autres applications. Cela est assuré en hébergeant un fichier JSON `apple-app-site-association` dans le répertoire racine du site Web, établissant un lien vérifiable entre le site Web et l'application. Dans les cas où l'application n'est pas installée, Safari prendra le relais et dirigera l'utilisateur vers la page Web, maintenant la présence de l'application.
|
||||
Les liens universels offrent une expérience de **redirection transparente** aux utilisateurs en ouvrant directement le contenu dans l'application, contournant ainsi le besoin de redirection vers Safari. Ces liens sont **uniques** et sécurisés, car ils ne peuvent pas être revendiqués par d'autres applications. Cela est assuré en hébergeant un fichier JSON `apple-app-site-association` dans le répertoire racine du site web, établissant un lien vérifiable entre le site web et l'application. Dans les cas où l'application n'est pas installée, Safari prendra le relais et dirigera l'utilisateur vers la page web, maintenant ainsi la présence de l'application.
|
||||
|
||||
Pour les testeurs de pénétration, le fichier `apple-app-site-association` est d'un intérêt particulier car il peut révéler des **chemins sensibles**, potentiellement liés à des fonctionnalités non publiées.
|
||||
|
||||
|
@ -32,13 +32,13 @@ Les développeurs activent les liens universels en configurant les **Domaines as
|
|||
<string>applinks:t.me</string>
|
||||
</array>
|
||||
```
|
||||
Pour des informations plus complètes, consultez la [Documentation archivée des développeurs Apple](https://developer.apple.com/library/archive/documentation/General/Conceptual/AppSearch/UniversalLinks.html#//apple_ref/doc/uid/TP40016308-CH12-SW2).
|
||||
Pour des informations plus complètes, consultez la [Documentation des développeurs Apple archivée](https://developer.apple.com/library/archive/documentation/General/Conceptual/AppSearch/UniversalLinks.html#//apple_ref/doc/uid/TP40016308-CH12-SW2).
|
||||
|
||||
Si vous travaillez avec une application compilée, les autorisations peuvent être extraites comme indiqué dans [ce guide](extracting-entitlements-from-compiled-application.md).
|
||||
Si vous travaillez avec une application compilée, les autorisations peuvent être extraites comme décrit dans [ce guide](extracting-entitlements-from-compiled-application.md).
|
||||
|
||||
### **Récupération du fichier Apple App Site Association**
|
||||
|
||||
Le fichier `apple-app-site-association` doit être récupéré depuis le serveur en utilisant les domaines spécifiés dans les autorisations. Assurez-vous que le fichier est accessible via HTTPS directement à `https://<domain>/apple-app-site-association`. Des outils comme le [Validateur de l'Apple App Site Association (AASA)](https://branch.io/resources/aasa-validator/) peuvent aider dans ce processus.
|
||||
Le fichier `apple-app-site-association` doit être récupéré depuis le serveur en utilisant les domaines spécifiés dans les autorisations. Assurez-vous que le fichier est accessible via HTTPS directement à `https://<domain>/apple-app-site-association`. Des outils comme le [Validateur de l'Association de Site d'Application Apple (AASA)](https://branch.io/resources/aasa-validator/) peuvent aider dans ce processus.
|
||||
|
||||
### **Gestion des Liens Universels dans l'Application**
|
||||
|
||||
|
@ -46,7 +46,7 @@ L'application doit implémenter des méthodes spécifiques pour gérer correctem
|
|||
|
||||
#### **Validation de la Méthode de Gestion des Données**
|
||||
|
||||
Lorsqu'un lien universel ouvre une application, un objet `NSUserActivity` est transmis à l'application avec l'URL. Avant de traiter cette URL, il est essentiel de la valider et de la désinfecter pour éviter les risques de sécurité. Voici un exemple en Swift qui illustre le processus :
|
||||
Lorsqu'un lien universel ouvre une application, un objet `NSUserActivity` est transmis à l'application avec l'URL. Avant de traiter cette URL, il est essentiel de la valider et de la nettoyer pour éviter les risques de sécurité. Voici un exemple en Swift qui illustre le processus :
|
||||
```swift
|
||||
func application(_ application: UIApplication, continue userActivity: NSUserActivity,
|
||||
restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
|
||||
|
@ -58,7 +58,7 @@ application.open(url, options: [:], completionHandler: nil)
|
|||
return true
|
||||
}
|
||||
```
|
||||
Les URL doivent être soigneusement analysées et validées, surtout si elles incluent des paramètres, pour se prémunir contre d'éventuelles usurpations d'identité ou des données mal formées. L'API `NSURLComponents` est utile à cette fin, comme démontré ci-dessous:
|
||||
Les URL doivent être soigneusement analysées et validées, surtout si elles incluent des paramètres, pour se prémunir contre d'éventuelles usurpations ou données malformées. L'API `NSURLComponents` est utile à cette fin, comme le montre l'exemple ci-dessous :
|
||||
```swift
|
||||
func application(_ application: UIApplication,
|
||||
continue userActivity: NSUserActivity,
|
||||
|
@ -87,7 +87,8 @@ return false
|
|||
À travers une **configuration et validation diligente**, les développeurs peuvent s'assurer que les liens universels améliorent l'expérience utilisateur tout en respectant les normes de sécurité et de confidentialité.
|
||||
|
||||
|
||||
|
||||
## Outils
|
||||
* [GetUniversal.link](https://getuniversal.link/): Aide à simplifier le test et la gestion des liens universels de votre application et du fichier AASA. Il suffit d'entrer votre domaine pour vérifier l'intégrité du fichier AASA ou d'utiliser le tableau de bord personnalisé pour tester facilement le comportement du lien. Cet outil vous aide également à déterminer quand Apple indexera votre fichier AASA.
|
||||
|
||||
## Références
|
||||
* [https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0070/#static-analysis](https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0070/#static-analysis)
|
||||
|
@ -101,10 +102,10 @@ return false
|
|||
|
||||
Autres façons de soutenir HackTricks:
|
||||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF** Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
|
|
Loading…
Reference in a new issue