iOS Custom URI Handlers / Deeplinks / Custom Schemes
Hii ni muhtasari kutoka kwa taarifa zinazohusiana na https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0075/
Taarifa za Msingi
Mipango ya URL ya kawaida inaruhusu programu kuwasiliana kwa kutumia itifaki maalum, kama ilivyoelezwa katika Apple Developer Documentation. Mipango hii lazima itangazwe na programu, ambayo kisha inashughulikia URL zinazokuja kufuata mipango hiyo. Ni muhimu kuhakiki vigezo vyote vya URL na kukatisha URL zozote zisizo sahihi ili kuzuia mashambulizi kupitia njia hii.
Mfano unatolewa ambapo URI myapp://hostname?data=123876123
inachochea kitendo maalum cha programu. Uthibitisho wa udhaifu ulionekana katika programu ya Skype Mobile, ambayo iliruhusu vitendo vya simu visivyo ruhusiwa kupitia itifaki ya skype://
. Mipango iliyosajiliwa inaweza kupatikana katika Info.plist
ya programu chini ya CFBundleURLTypes
. Programu mbaya zinaweza kutumia hii kwa kujiandikisha tena URIs ili kukamata taarifa nyeti.
Usajili wa Mipango ya Maswali ya Programu
Kuanzia iOS 9.0, ili kuangalia kama programu inapatikana, canOpenURL:
inahitaji kutangaza mipango ya URL katika Info.plist
chini ya LSApplicationQueriesSchemes
. Hii inakadiria mipango ambayo programu inaweza kuuliza kuwa 50, ikiongeza faragha kwa kuzuia orodha ya programu.
Testing URL Handling and Validation
Wakandarasi wanapaswa kuchunguza mbinu maalum katika msimbo wa chanzo ili kuelewa ujenzi wa njia za URL na uthibitishaji, kama vile application:didFinishLaunchingWithOptions:
na application:openURL:options:
. Kwa mfano, Telegram inatumia mbinu mbalimbali za kufungua URL:
Testing URL Requests to Other Apps
Mbinu kama openURL:options:completionHandler:
ni muhimu kwa kufungua URL ili kuingiliana na programu nyingine. Kutambua matumizi ya mbinu kama hizo katika msimbo wa chanzo wa programu ni muhimu kwa kuelewa mawasiliano ya nje.
Testing for Deprecated Methods
Mbinu zilizopitwa na wakati zinazoshughulikia ufunguzi wa URL, kama application:handleOpenURL:
na openURL:
, zinapaswa kutambuliwa na kupitia kwa athari za usalama.
Fuzzing URL Schemes
Fuzzing URL schemes inaweza kutambua makosa ya ufisadi wa kumbukumbu. Zana kama Frida zinaweza kuendesha mchakato huu kwa kufungua URL zenye mzigo tofauti ili kufuatilia ajali, kama inavyoonyeshwa na udanganyifu wa URL katika programu ya iGoat-Swift:
References
Last updated