iOS UIActivity Sharing
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Od iOS 6 pa nadalje, aplikacije trećih strana su omogućene da dele podatke kao što su tekst, URL-ovi ili slike koristeći mehanizme poput AirDrop-a, kako je navedeno u Apple-ovom Vodiču za međusobnu komunikaciju aplikacija. Ova funkcija se manifestuje kroz sistemski sheet za deljenje aktivnosti koji se pojavljuje prilikom interakcije sa dugmetom "Podeli".
Sveobuhvatna enumeracija svih ugrađenih opcija deljenja dostupna je na UIActivity.ActivityType. Programeri mogu odlučiti da isključe određene opcije deljenja ako smatraju da nisu prikladne za njihovu aplikaciju.
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 instanciranjem UIActivityViewController
, kojem se prosleđuju stavke koje se nameravaju deliti. To se postiže pozivanjem:
Developeri bi trebali pažljivo ispitati UIActivityViewController
za aktivnosti i prilagođene aktivnosti sa kojima je inicijalizovan, kao i sve navedene excludedActivityTypes
.
Sledeći aspekti su ključni prilikom primanja podataka:
Deklaracija prilagođenih tipova dokumenata.
Specifikacija tipova dokumenata koje aplikacija može otvoriti.
Verifikacija integriteta primljenih podataka.
Bez pristupa izvornoj kodu, može se još uvek ispitati Info.plist
za ključeve kao što su UTExportedTypeDeclarations
, UTImportedTypeDeclarations
, i CFBundleDocumentTypes
kako bi se razumele vrste dokumenata koje aplikacija može obraditi i deklarisati.
Kratak vodič o ovim ključevima dostupan je na Stackoverflow, naglašavajući važnost definisanja i uvoza UTI za sistemsko prepoznavanje i povezivanje tipova dokumenata sa vašom aplikacijom za integraciju u dijalogu "Otvoriti sa".
Da bi se testirale aktivnosti slanja, može se:
Uključiti u metodu init(activityItems:applicationActivities:)
kako bi se uhvatili stavke i aktivnosti koje se dele.
Identifikovati isključene aktivnosti presretanjem svojstva excludedActivityTypes
.
Za primanje stavki, to uključuje:
Deljenje datoteke sa aplikacijom iz drugog izvora (npr. AirDrop, email) koja pokreće dijalog "Otvoriti sa...".
Uključivanje application:openURL:options:
među drugim metodama identifikovanim tokom statičke analize kako bi se posmatrao odgovor aplikacije.
Korišćenje neispravnih datoteka ili fuzzing tehnika za procenu otpornosti aplikacije.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)