iOS UIActivity Sharing

Reading time: 3 minutes

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

UIActivity Sharing Simplified

Kuanzia iOS 6, programu za upande wa tatu zimewezeshwa kushiriki data kama maandiko, URLs, au picha kwa kutumia mitambo kama AirDrop, kama ilivyoelezwa katika mwongozo wa Mawasiliano Kati ya Programu za Apple. Kipengele hiki kinaonekana kupitia karatasi ya shughuli ya kushiriki inayojitokeza unaposhughulika na kitufe cha "Share".

Orodha kamili ya chaguzi zote za kushiriki zilizojengwa ndani inapatikana katika UIActivity.ActivityType. Wataalamu wa maendeleo wanaweza kuchagua kutengwa kwa chaguzi maalum za kushiriki ikiwa wanaona hazifai kwa programu yao.

Jinsi ya Kushiriki Data

Umakini unapaswa kuelekezwa kwa:

  • Aina ya data inayoshirikiwa.
  • Kuongeza shughuli za kawaida.
  • Kutengwa kwa aina fulani za shughuli.

Kushiriki kunarahisishwa kupitia uundaji wa UIActivityViewController, ambapo vitu vinavyokusudiwa kushirikiwa vinapitishwa. Hii inafanywa kwa kuita:

bash
$ rabin2 -zq Telegram\ X.app/Telegram\ X | grep -i activityItems
0x1000df034 45 44 initWithActivityItems:applicationActivities:

Wak developers wanapaswa kuchunguza UIActivityViewController kwa shughuli na shughuli za kawaida ambazo imeanzishwa nazo, pamoja na aina zozote za excludedActivityTypes zilizotajwa.

Jinsi ya Kupokea Data

Vipengele vifuatavyo ni muhimu unapopokea data:

  • Tamko la aina za hati za kawaida.
  • Mwelekeo wa aina za hati ambazo programu inaweza kufungua.
  • Uthibitishaji wa uaminifu wa data iliyopokelewa.

Bila ufikiaji wa msimbo wa chanzo, mtu anaweza bado kuchunguza Info.plist kwa funguo kama UTExportedTypeDeclarations, UTImportedTypeDeclarations, na CFBundleDocumentTypes ili kuelewa aina za hati ambazo programu inaweza kushughulikia na kutangaza.

Mwongozo mfupi juu ya funguo hizi upatikana kwenye Stackoverflow, ukisisitiza umuhimu wa kufafanua na kuingiza UTIs kwa kutambuliwa kwa mfumo mzima na kuunganisha aina za hati na programu yako kwa ushirikiano katika mazungumzo ya "Fungua na".

Mbinu ya Kujaribu ya Kijadi

Ili kujaribu kutuma shughuli, mtu anaweza:

  • Kuunganisha kwenye njia init(activityItems:applicationActivities:) ili kukamata vitu na shughuli zinazoshirikiwa.
  • Kutambua shughuli zilizotengwa kwa kukamata mali ya excludedActivityTypes.

Kwa kupokea vitu, inahusisha:

  • Kushiriki faili na programu kutoka chanzo kingine (mfano, AirDrop, barua pepe) inayochochea mazungumzo ya "Fungua na...".
  • Kuunganisha application:openURL:options: kati ya mbinu nyingine zilizotambuliwa wakati wa uchambuzi wa statiki ili kuona majibu ya programu.
  • Kutumia faili zisizo sahihi au mbinu za fuzzing ili kutathmini uimara wa programu.

Marejeo

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks