Learn & practice AWS Hacking:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Learn & practice GCP Hacking: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
Este é um resumo das informações relacionadas de [https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0075/](https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0075/)
Esquemas de URL personalizados permitem que aplicativos se comuniquem usando um protocolo personalizado, conforme detalhado na [Documentação do Desenvolvedor da Apple](https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Inter-AppCommunication/Inter-AppCommunication.html#//apple_ref/doc/uid/TP40007072-CH6-SW1). Esses esquemas devem ser declarados pelo aplicativo, que então lida com URLs de entrada seguindo esses esquemas. É crucial **validar todos os parâmetros de URL** e **descartar quaisquer URLs malformadas** para prevenir ataques através desse vetor.
Um exemplo é dado onde o URI `myapp://hostname?data=123876123` invoca uma ação específica do aplicativo. Uma vulnerabilidade notada estava no aplicativo Skype Mobile, que permitia ações de chamada não autorizadas via o protocolo `skype://`. Os esquemas registrados podem ser encontrados no `Info.plist` do aplicativo sob `CFBundleURLTypes`. Aplicativos maliciosos podem explorar isso re-registrando URIs para interceptar informações sensíveis.
A partir do iOS 9.0, para verificar se um aplicativo está disponível, `canOpenURL:` requer a declaração de esquemas de URL no `Info.plist` sob `LSApplicationQueriesSchemes`. Isso limita os esquemas que um aplicativo pode consultar a 50, melhorando a privacidade ao prevenir a enumeração de aplicativos.
Os desenvolvedores devem inspecionar métodos específicos no código-fonte para entender a construção e validação do caminho da URL, como `application:didFinishLaunchingWithOptions:` e `application:openURL:options:`. Por exemplo, o Telegram emprega vários métodos para abrir URLs:
Métodos como `openURL:options:completionHandler:` são cruciais para abrir URLs e interagir com outros apps. Identificar o uso de tais métodos no código-fonte do app é fundamental para entender as comunicações externas.
Métodos obsoletos que lidam com aberturas de URL, como `application:handleOpenURL:` e `openURL:`, devem ser identificados e revisados quanto às implicações de segurança.
Fuzzing de esquemas de URL pode identificar bugs de corrupção de memória. Ferramentas como [Frida](https://codeshare.frida.re/@dki/ios-url-scheme-fuzzing/) podem automatizar esse processo abrindo URLs com diferentes payloads para monitorar por falhas, exemplificado pela manipulação de URLs no app iGoat-Swift:
Aprenda e pratique Hacking AWS:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Aprenda e pratique Hacking GCP: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.