5.6 KiB
Deljenje UI aktivnosti na iOS-u
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
- Ako želite da vidite vašu kompaniju reklamiranu na HackTricks-u ili preuzmete HackTricks u PDF formatu proverite SUBSCRIPTION PLANS!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte The PEASS Family, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitter-u 🐦 @carlospolopm.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Deljenje UI aktivnosti pojednostavljeno
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. Ova funkcionalnost se manifestuje kroz sistemski deljeni list aktivnosti koji se prikazuje prilikom interakcije sa dugmetom "Deljenje".
Potpuni pregled svih ugrađenih opcija za deljenje dostupan je na UIActivity.ActivityType. Razvijači mogu izabrati da isključe određene opcije za deljenje ako smatraju da nisu pogodne za njihovu aplikaciju.
Kako deliti podatke
Pažnja treba biti usmerena na:
- Prirodu podataka koji se dele.
- Uključivanje prilagođenih aktivnosti.
- Isključivanje određenih tipova aktivnosti.
Deljenje se olakšava putem instanciranja UIActivityViewController
-a, kojem se prosleđuju stavke namenjene za deljenje. To se postiže pozivanjem:
$ rabin2 -zq Telegram\ X.app/Telegram\ X | grep -i activityItems
0x1000df034 45 44 initWithActivityItems:applicationActivities:
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
.
Kako primiti podatke
Sljedeći aspekti su ključni prilikom primanja podataka:
- Deklaracija prilagođenih vrsta dokumenata.
- Specifikacija vrsta dokumenata koje aplikacija može otvoriti.
- Verifikacija integriteta primljenih podataka.
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.
Kratki vodič o ovim ključevima dostupan je na Stackoverflow, 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".
Pristup dinamičkom testiranju
Za testiranje slanja aktivnosti, moguće je:
- Povezati se s metodom
init(activityItems:applicationActivities:)
kako bi se uhvatili predmeti i aktivnosti koje se dijele. - Identificirati isključene aktivnosti presretanjem svojstva
excludedActivityTypes
.
Za primanje predmeta, uključuje:
- 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.
Reference
Naučite hakiranje AWS-a od nule do heroja s htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
- Ako želite vidjeti oglašavanje vaše tvrtke u HackTricks-u ili preuzeti HackTricks u PDF-u, provjerite PLANOVE PRETPLATE!
- Nabavite službeni PEASS & HackTricks swag
- Otkrijte The PEASS Family, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitteru 🐦 @carlospolopm.
- Podijelite svoje hakirajuće trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorije.