hacktricks/mobile-pentesting/ios-pentesting/ios-uiactivity-sharing.md
2024-02-10 13:11:20 +00:00

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:

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: