hacktricks/mobile-pentesting/ios-pentesting/ios-uiactivity-sharing.md

79 lines
5.7 KiB
Markdown
Raw Normal View History

2024-02-11 02:07:06 +00:00
# iOS UIActivity-deling
2022-04-28 16:01:33 +00:00
<details>
2024-02-11 02:07:06 +00:00
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-11 02:07:06 +00:00
Ander maniere om HackTricks te ondersteun:
2022-04-28 16:01:33 +00:00
2024-02-11 02:07:06 +00:00
* As jy wil sien dat jou **maatskappy geadverteer word in HackTricks** of **HackTricks aflaai in PDF-formaat**, kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacking-truuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-opslag.
2022-04-28 16:01:33 +00:00
</details>
2024-02-11 02:07:06 +00:00
# Vereenvoudigde UIActivity-deling
2022-04-28 16:01:33 +00:00
2024-02-11 02:07:06 +00:00
Vanaf iOS 6 is derde-party-toepassings in staat gestel om **data te deel**, soos teks, URL's of afbeeldings, deur gebruik te maak van meganismes soos AirDrop, soos uiteengesit in Apple se [Inter-App Communication-gids](https://developer.apple.com/library/archive/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Inter-AppCommunication/Inter-AppCommunication.html#//apple_ref/doc/uid/TP40007072-CH6-SW3). Hierdie funksie manifesteer deur middel van 'n stelselwye _deelaktiwiteitsblad_ wat na vore kom wanneer die "Deel" knoppie geaktiveer word.
2024-02-11 02:07:06 +00:00
'n Omvattende opsomming van al die ingeboude deelopsies is beskikbaar by [UIActivity.ActivityType](https://developer.apple.com/documentation/uikit/uiactivity/activitytype). Ontwikkelaars kan opsioneel spesifieke deelopsies uitsluit as hulle dit ongeskik ag vir hul toepassing.
2024-02-11 02:07:06 +00:00
## **Hoe om Data te Deel**
2024-02-11 02:07:06 +00:00
Aandag moet gegee word aan:
2024-02-11 02:07:06 +00:00
- Die aard van die gedeelde data.
- Die insluiting van aangepaste aktiwiteite.
- Die uitsluiting van sekere aktiwiteitstipes.
2024-02-11 02:07:06 +00:00
Deling word fasiliteer deur die instansiasie van 'n `UIActivityViewController`, waarin die items wat bedoel is om gedeel te word, oorgedra word. Dit word bereik deur die volgende te roep:
```bash
$ rabin2 -zq Telegram\ X.app/Telegram\ X | grep -i activityItems
0x1000df034 45 44 initWithActivityItems:applicationActivities:
```
2024-02-11 02:07:06 +00:00
Ontwikkelaars moet die `UIActivityViewController` noukeurig ondersoek vir die aktiwiteite en aangepaste aktiwiteite waarmee dit geïnisialiseer is, sowel as enige gespesifiseerde `excludedActivityTypes`.
2024-02-11 02:07:06 +00:00
## **Hoe om Data te Ontvang**
2024-02-11 02:07:06 +00:00
Die volgende aspekte is van kritieke belang wanneer data ontvang word:
2024-02-11 02:07:06 +00:00
- Die verklaring van **aangepaste dokumenttipes**.
- Die spesifikasie van **dokumenttipes wat die app kan oopmaak**.
- Die verifikasie van die **integriteit van die ontvangste data**.
2024-02-11 02:07:06 +00:00
Sonder toegang tot die bronkode kan 'n persoon steeds die `Info.plist` ondersoek vir sleutels soos `UTExportedTypeDeclarations`, `UTImportedTypeDeclarations`, en `CFBundleDocumentTypes` om te verstaan watter tipes dokumente 'n app kan hanteer en verklaar.
2024-02-11 02:07:06 +00:00
'n Bondige gids oor hierdie sleutels is beskikbaar op [Stackoverflow](https://stackoverflow.com/questions/21937978/what-are-utimportedtypedeclarations-and-utexportedtypedeclarations-used-for-on-i), wat die belangrikheid beklemtoon van die definieer en invoer van UTIs vir stelselwye herkenning en die assosiasie van dokumenttipes met jou app vir integrasie in die "Open met" dialoog.
2024-02-11 02:07:06 +00:00
## Dinamiese Toetsbenadering
2024-02-11 02:07:06 +00:00
Om **aktiwiteite te toets** wat gestuur word, kan 'n persoon:
2024-02-11 02:07:06 +00:00
- Inhaak op die `init(activityItems:applicationActivities:)` metode om die items en aktiwiteite wat gedeel word, vas te vang.
- Uitgeslote aktiwiteite identifiseer deur die `excludedActivityTypes` eienskap te onderskep.
2024-02-11 02:07:06 +00:00
Vir die **ontvang van items**, behels dit:
2024-02-11 02:07:06 +00:00
- Om 'n lêer met die app te deel vanaf 'n ander bron (bv. AirDrop, e-pos) wat die "Open met..." dialoog uitlok.
- Om `application:openURL:options:` te onderskep, tesame met ander metodes wat geïdentifiseer is tydens statiese analise, om die app se reaksie waar te neem.
- Om gebrekkige lêers of fuzzing-tegnieke te gebruik om die robuustheid van die app te evalueer.
2022-04-28 16:01:33 +00:00
2024-02-11 02:07:06 +00:00
## Verwysings
2024-02-08 03:08:28 +00:00
* [https://mobile-security.gitbook.io/mobile-security-testing-guide/ios-testing-guide/0x06h-testing-platform-interaction](https://mobile-security.gitbook.io/mobile-security-testing-guide/ios-testing-guide/0x06h-testing-platform-interaction)
2022-04-28 16:01:33 +00:00
<details>
2024-02-11 02:07:06 +00:00
<summary><strong>Leer AWS-hacking vanaf nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-11 02:07:06 +00:00
Ander maniere om HackTricks te ondersteun:
2022-04-28 16:01:33 +00:00
2024-02-11 02:07:06 +00:00
* As jy wil sien dat jou **maatskappy geadverteer word in HackTricks** of **HackTricks aflaai in PDF-formaat**, kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Kry die [**amptelike PEASS & HackTricks-uitrusting**](https://peass.creator-spring.com)
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacktruuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-opslag.
2022-04-28 16:01:33 +00:00
</details>