iOS Custom URI Handlers / Deeplinks / Custom Schemes
Hii ni muhtasari kutoka kwenye habari husika kutoka https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0075/
Taarifa Msingi
Mfumo wa URL maalum huruhusu programu kuwasiliana kwa kutumia itifaki maalum, kama ilivyoelezwa katika Hati ya Maendeleo ya Apple. Itifaki hizi lazima zitangazwe na programu, ambayo kisha inashughulikia URL zinazoingia zifuatazo itifaki hizo. Ni muhimu kuhakikisha uthibitisho wa vigezo vyote vya URL na kutupa URL zozote zisizo sahihi ili kuzuia mashambulizi kupitia njia hii.
Mfano unatolewa ambapo URI myapp://hostname?data=123876123
inaita hatua maalum ya programu. Kasoro iliyobainishwa ilikuwa katika programu ya Skype Mobile, ambayo iliruhusu hatua za simu zisizoruhusiwa kupitia itifaki ya skype://
. Itifaki zilizosajiliwa zinaweza kupatikana katika Info.plist
ya programu chini ya CFBundleURLTypes
. Programu mbaya zinaweza kuitumia hii kwa kusajili upya URI ili kuiba habari nyeti.
Usajili wa Itifaki za Utafutaji wa Programu
Kuanzia iOS 9.0, ili kuangalia ikiwa programu ipo, canOpenURL:
inahitaji kutangaza itifaki za URL katika Info.plist
chini ya LSApplicationQueriesSchemes
. Hii inapunguza itifaki ambazo programu inaweza kuuliza hadi 50, kuimarisha faragha kwa kuzuia uchunguzi wa programu.
Jaribio la Kusimamia na Kuthibitisha URL
Wabunifu wanapaswa kukagua njia maalum katika msimbo wa chanzo ili kuelewa ujenzi na uthibitisho wa njia ya URL, kama vile application:didFinishLaunchingWithOptions:
na application:openURL:options:
. Kwa mfano, Telegram inatumia njia mbalimbali za kufungua URL:
Jaribio la URL Requests kwa Programu Nyingine
Njia kama openURL:options:completionHandler:
ni muhimu kwa kufungua URL kwa ajili ya kuwasiliana na programu nyingine. Kugundua matumizi ya njia kama hizo katika msimbo wa chanzo wa programu ni muhimu kwa kuelewa mawasiliano ya nje.
Jaribio la Njia Zilizopitwa na Waktu
Njia zilizopitwa na waktu za kushughulikia ufunguzi wa URL, kama vile application:handleOpenURL:
na openURL:
, zinapaswa kugunduliwa na kufanyiwa ukaguzi kwa ajili ya athari za usalama.
Fuzzing wa URL Schemes
Fuzzing wa URL schemes unaweza kugundua kasoro za kuharibika kwa kumbukumbu. Zana kama Frida inaweza kusaidia kiotomatiki mchakato huu kwa kufungua URL na mizigo tofauti ili kufuatilia ajali, kama ilivyodhihirishwa na uhariri wa URL katika programu ya iGoat-Swift:
Marejeo
Last updated