5.7 KiB
iOS UIActivity-deling
Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy wil sien dat jou maatskappy geadverteer word in HackTricks of HackTricks aflaai in PDF-formaat, kyk na die SUBSCRIPTION PLANS!
- Kry die amptelike PEASS & HackTricks swag
- Ontdek The PEASS Family, ons versameling eksklusiewe NFTs
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou hacking-truuks deur PR's in te dien by die HackTricks en HackTricks Cloud github-opslag.
Vereenvoudigde UIActivity-deling
Vanaf iOS 6 is derde-party-toepassings in staat gestel om data te deel, soos teks, URL's of afbeeldings, deur gebruik te maak van meganismes soos AirDrop, soos uiteengesit in Apple se Inter-App Communication-gids. Hierdie funksie manifesteer deur middel van 'n stelselwye deelaktiwiteitsblad wat na vore kom wanneer die "Deel" knoppie geaktiveer word.
'n Omvattende opsomming van al die ingeboude deelopsies is beskikbaar by UIActivity.ActivityType. Ontwikkelaars kan opsioneel spesifieke deelopsies uitsluit as hulle dit ongeskik ag vir hul toepassing.
Hoe om Data te Deel
Aandag moet gegee word aan:
- Die aard van die gedeelde data.
- Die insluiting van aangepaste aktiwiteite.
- Die uitsluiting van sekere aktiwiteitstipes.
Deling word fasiliteer deur die instansiasie van 'n UIActivityViewController
, waarin die items wat bedoel is om gedeel te word, oorgedra word. Dit word bereik deur die volgende te roep:
$ rabin2 -zq Telegram\ X.app/Telegram\ X | grep -i activityItems
0x1000df034 45 44 initWithActivityItems:applicationActivities:
Ontwikkelaars moet die UIActivityViewController
noukeurig ondersoek vir die aktiwiteite en aangepaste aktiwiteite waarmee dit geïnisialiseer is, sowel as enige gespesifiseerde excludedActivityTypes
.
Hoe om Data te Ontvang
Die volgende aspekte is van kritieke belang wanneer data ontvang word:
- Die verklaring van aangepaste dokumenttipes.
- Die spesifikasie van dokumenttipes wat die app kan oopmaak.
- Die verifikasie van die integriteit van die ontvangste data.
Sonder toegang tot die bronkode kan 'n persoon steeds die Info.plist
ondersoek vir sleutels soos UTExportedTypeDeclarations
, UTImportedTypeDeclarations
, en CFBundleDocumentTypes
om te verstaan watter tipes dokumente 'n app kan hanteer en verklaar.
'n Bondige gids oor hierdie sleutels is beskikbaar op Stackoverflow, wat die belangrikheid beklemtoon van die definieer en invoer van UTIs vir stelselwye herkenning en die assosiasie van dokumenttipes met jou app vir integrasie in die "Open met" dialoog.
Dinamiese Toetsbenadering
Om aktiwiteite te toets wat gestuur word, kan 'n persoon:
- Inhaak op die
init(activityItems:applicationActivities:)
metode om die items en aktiwiteite wat gedeel word, vas te vang. - Uitgeslote aktiwiteite identifiseer deur die
excludedActivityTypes
eienskap te onderskep.
Vir die ontvang van items, behels dit:
- Om 'n lêer met die app te deel vanaf 'n ander bron (bv. AirDrop, e-pos) wat die "Open met..." dialoog uitlok.
- Om
application:openURL:options:
te onderskep, tesame met ander metodes wat geïdentifiseer is tydens statiese analise, om die app se reaksie waar te neem. - Om gebrekkige lêers of fuzzing-tegnieke te gebruik om die robuustheid van die app te evalueer.
Verwysings
Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy wil sien dat jou maatskappy geadverteer word in HackTricks of HackTricks aflaai in PDF-formaat, kyk na die SUBSCRIPTION PLANS!
- Kry die amptelike PEASS & HackTricks-uitrusting
- Ontdek The PEASS Family, ons versameling eksklusiewe NFTs
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou hacktruuks deur PR's in te dien by die HackTricks en HackTricks Cloud github-opslag.