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

79 lines
5.6 KiB
Markdown
Raw Normal View History

2024-02-10 13:11:20 +00:00
# Deljenje UI aktivnosti na iOS-u
2022-04-28 16:01:33 +00:00
<details>
2024-02-10 13:11:20 +00:00
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</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-10 13:11:20 +00:00
Drugi načini podrške HackTricks-u:
2022-04-28 16:01:33 +00:00
2024-02-10 13:11:20 +00:00
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
2022-04-28 16:01:33 +00:00
</details>
2024-02-10 13:11:20 +00:00
# Deljenje UI aktivnosti pojednostavljeno
2022-04-28 16:01:33 +00:00
2024-02-10 13:11:20 +00:00
Od iOS 6 nadalje, treće strane aplikacije su omogućene da **deljenje podataka** kao što su tekst, URL-ovi ili slike koriste mehanizme poput AirDrop-a, kako je opisano u Apple-ovom [Vodiču za međuaplikacijsku komunikaciju](https://developer.apple.com/library/archive/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Inter-AppCommunication/Inter-AppCommunication.html#//apple_ref/doc/uid/TP40007072-CH6-SW3). Ova funkcionalnost se manifestuje kroz sistemski _deljeni list aktivnosti_ koji se prikazuje prilikom interakcije sa dugmetom "Deljenje".
2024-02-10 13:11:20 +00:00
Potpuni pregled svih ugrađenih opcija za deljenje dostupan je na [UIActivity.ActivityType](https://developer.apple.com/documentation/uikit/uiactivity/activitytype). Razvijači mogu izabrati da isključe određene opcije za deljenje ako smatraju da nisu pogodne za njihovu aplikaciju.
2024-02-10 13:11:20 +00:00
## **Kako deliti podatke**
2024-02-10 13:11:20 +00:00
Pažnja treba biti usmerena na:
2024-02-10 13:11:20 +00:00
- Prirodu podataka koji se dele.
- Uključivanje prilagođenih aktivnosti.
- Isključivanje određenih tipova aktivnosti.
2024-02-10 13:11:20 +00:00
Deljenje se olakšava putem instanciranja `UIActivityViewController`-a, kojem se prosleđuju stavke namenjene za deljenje. To se postiže pozivanjem:
```bash
$ rabin2 -zq Telegram\ X.app/Telegram\ X | grep -i activityItems
0x1000df034 45 44 initWithActivityItems:applicationActivities:
```
2024-02-10 13:11:20 +00:00
Razvojni programeri bi trebali pažljivo pregledati `UIActivityViewController` za aktivnosti i prilagođene aktivnosti s kojima je inicijaliziran, kao i za bilo koje navedene `excludedActivityTypes`.
2024-02-10 13:11:20 +00:00
## **Kako primiti podatke**
2024-02-10 13:11:20 +00:00
Sljedeći aspekti su ključni prilikom primanja podataka:
2024-02-10 13:11:20 +00:00
- Deklaracija **prilagođenih vrsta dokumenata**.
- Specifikacija **vrsta dokumenata koje aplikacija može otvoriti**.
- Verifikacija **integriteta primljenih podataka**.
2024-02-10 13:11:20 +00:00
Bez pristupa izvornom kodu, ipak je moguće pregledati `Info.plist` za ključeve poput `UTExportedTypeDeclarations`, `UTImportedTypeDeclarations` i `CFBundleDocumentTypes` kako bi se razumjeli tipovi dokumenata koje aplikacija može obraditi i deklarirati.
2024-02-10 13:11:20 +00:00
Kratki vodič o ovim ključevima dostupan je na [Stackoverflow](https://stackoverflow.com/questions/21937978/what-are-utimportedtypedeclarations-and-utexportedtypedeclarations-used-for-on-i), koji ističe važnost definiranja i uvoza UTI-ova za prepoznavanje na razini sustava i povezivanje vrsta dokumenata s vašom aplikacijom za integraciju u dijalog "Otvori s".
2024-02-10 13:11:20 +00:00
## Pristup dinamičkom testiranju
2024-02-10 13:11:20 +00:00
Za testiranje **slanja aktivnosti**, moguće je:
2024-02-10 13:11:20 +00:00
- Povezati se s metodom `init(activityItems:applicationActivities:)` kako bi se uhvatili predmeti i aktivnosti koje se dijele.
- Identificirati isključene aktivnosti presretanjem svojstva `excludedActivityTypes`.
2024-02-10 13:11:20 +00:00
Za **primanje predmeta**, uključuje:
2024-02-10 13:11:20 +00:00
- Dijeljenje datoteke s aplikacijom s druge izvore (npr. AirDrop, e-pošta) koja pokreće dijalog "Otvori s...".
- Povezivanje `application:openURL:options:` i drugih identificiranih metoda tijekom statičke analize kako bi se promatrala reakcija aplikacije.
- Upotreba neispravnih datoteka ili tehnika ispitivanja otpornosti aplikacije kako bi se procijenila njena robusnost.
2022-04-28 16:01:33 +00:00
2024-02-10 13:11:20 +00:00
## Reference
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-10 13:11:20 +00:00
<summary><strong>Naučite hakiranje AWS-a od nule do heroja s</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-10 13:11:20 +00:00
Drugi načini podrške HackTricks-u:
2022-04-28 16:01:33 +00:00
2024-02-10 13:11:20 +00:00
* Ako želite vidjeti **oglašavanje vaše tvrtke u HackTricks-u** ili **preuzeti HackTricks u PDF-u**, provjerite [**PLANOVE PRETPLATE**](https://github.com/sponsors/carlospolop)!
* Nabavite [**službeni PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podijelite svoje hakirajuće trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorije.
2022-04-28 16:01:33 +00:00
</details>