6 KiB
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
- Ako želite da vidite vašu kompaniju reklamiranu na HackTricks-u ili preuzmete HackTricks u PDF formatu proverite PLANOVE PRETPLATE!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte The PEASS Family, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitter-u 🐦 @carlospolopm.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Ovo je sažetak povezanih informacija sa https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0075/
Osnovne informacije
Prilagođene URL šeme omogućavaju aplikacijama da komuniciraju koristeći prilagođeni protokol, kako je detaljno opisano u Apple Developer dokumentaciji. Ove šeme moraju biti deklarisane od strane aplikacije, koja zatim obrađuje dolazne URL-ove koji slede te šeme. Važno je validirati sve parametre URL-a i odbaciti bilo kakve neispravne URL-ove kako bi se sprečili napadi putem ovog vektora.
Dato je primer gde URI myapp://hostname?data=123876123
pokreće određenu akciju aplikacije. Primećena ranjivost bila je u Skype Mobile aplikaciji, koja je omogućavala neovlaštene pozive putem skype://
protokola. Registrovane šeme mogu se pronaći u Info.plist
datoteci aplikacije pod CFBundleURLTypes
. Zlonamerne aplikacije mogu iskoristiti ovo tako što će ponovo registrovati URI-jeve kako bi presrele osetljive informacije.
Registracija šema upita aplikacije
Od iOS 9.0, da bi se proverilo da li je aplikacija dostupna, canOpenURL:
zahteva deklarisanje URL šema u Info.plist
datoteci pod LSApplicationQueriesSchemes
. Ovo ograničava šeme koje aplikacija može koristiti za upite na 50, poboljšavajući privatnost sprečavanjem enumeracije aplikacija.
<key>LSApplicationQueriesSchemes</key>
<array>
<string>url_scheme1</string>
<string>url_scheme2</string>
</array>
Testiranje obrade i validacije URL-ova
Razvojni programeri trebaju pregledati određene metode u izvornom kodu kako bi razumeli konstrukciju i validaciju putanje URL-a, kao što su application:didFinishLaunchingWithOptions:
i application:openURL:options:
. Na primer, Telegram koristi različite metode za otvaranje URL-ova:
func application(_ application: UIApplication, open url: URL, sourceApplication: String?) -> Bool {
self.openUrl(url: url)
return true
}
func application(_ application: UIApplication, open url: URL, sourceApplication: String?,
annotation: Any) -> Bool {
self.openUrl(url: url)
return true
}
func application(_ app: UIApplication, open url: URL,
options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
self.openUrl(url: url)
return true
}
func application(_ application: UIApplication, handleOpen url: URL) -> Bool {
self.openUrl(url: url)
return true
}
Testiranje URL zahteva drugim aplikacijama
Metode poput openURL:options:completionHandler:
su ključne za otvaranje URL-ova i interakciju sa drugim aplikacijama. Identifikacija korišćenja ovih metoda u izvornom kodu aplikacije je ključna za razumevanje spoljnih komunikacija.
Testiranje zastarelih metoda
Zastarele metode za obradu otvaranja URL-ova, poput application:handleOpenURL:
i openURL:
, treba identifikovati i pregledati zbog bezbednosnih implikacija.
Fuzziranje URL šema
Fuzziranje URL šema može identifikovati greške u memoriji. Alati poput Fride mogu automatizovati ovaj proces otvaranjem URL-ova sa različitim payload-ima kako bi se pratili padovi, kao što je manipulacija URL-ovima u iGoat-Swift aplikaciji:
$ frida -U SpringBoard -l ios-url-scheme-fuzzing.js
[iPhone::SpringBoard]-> fuzz("iGoat", "iGoat://?contactNumber={0}&message={0}")
Watching for crashes from iGoat...
No logs were moved.
Opened URL: iGoat://?contactNumber=0&message=0
Reference
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
- Ako želite da vidite vašu kompaniju reklamiranu na HackTricks-u ili preuzmete HackTricks u PDF formatu, proverite SUBSCRIPTION PLANS!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte The PEASS Family, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitter-u 🐦 @carlospolopm.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.