5.4 KiB
iOS UIActivity Sharing
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
UIActivity Sharing Simplified
Kuanzia iOS 6 na kuendelea, programu za upande wa tatu zimewezeshwa kushiriki data kama vile maandiko, URLs, au picha kwa kutumia mitambo kama AirDrop, kama ilivyoelezwa katika mwongozo wa Inter-App Communication wa Apple. Kipengele hiki kinaonekana kupitia karatasi ya shughuli za kushiriki inayojitokeza unaposhughulika na kitufe cha "Share".
Orodha kamili ya chaguo zote za kushiriki zilizojengwa ndani inapatikana kwenye UIActivity.ActivityType. Wataalamu wa programu 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:
$ rabin2 -zq Telegram\ X.app/Telegram\ X | grep -i activityItems
0x1000df034 45 44 initWithActivityItems:applicationActivities:
Developers should scrutinize the UIActivityViewController
for the activities and custom activities it's initialized with, as well as any specified excludedActivityTypes
.
Jinsi ya Kupokea Data
Mambo yafuatayo ni muhimu unapopokea data:
- Tamko la aina za hati za kawaida.
- Mwelekeo wa aina za hati ambazo programu inaweza kufungua.
- Uthibitisho 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 kuagiza UTIs kwa kutambuliwa kwa mfumo mzima na kuunganisha aina za hati na programu yako kwa ajili ya ushirikiano katika mazungumzo ya "Fungua na".
Njia ya Kujaribu ya Kijadi
Ili kujaribu kutuma shughuli, mtu anaweza:
- Kuunganisha kwenye njia ya
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:
miongoni mwa njia 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
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.