8.7 KiB
जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!
HackTricks को समर्थन करने के अन्य तरीके:
- अगर आप चाहते हैं कि आपकी कंपनी HackTricks में विज्ञापित हो या HackTricks को PDF में डाउनलोड करें तो सब्सक्रिप्शन प्लान्स देखें!
- आधिकारिक PEASS और HackTricks स्वैग प्राप्त करें
- हमारे विशेष NFTs कलेक्शन, The PEASS Family खोजें
- शामिल हों 💬 Discord समूह या टेलीग्राम समूह या मुझे ट्विटर पर फॉलो करें 🐦 @carlospolopm.
- अपने हैकिंग ट्रिक्स साझा करें, HackTricks के लिए PRs सबमिट करके और HackTricks Cloud github repos को फॉलो करके।
यह एक सारांश है जो संबंधित जानकारी से है https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0075/
मूल जानकारी
कस्टम URL स्कीम्स ऐप्स को एक कस्टम प्रोटोकॉल का उपयोग करके संचार करने की संभावना प्रदान करते हैं, जैसा कि एप्पल डेवलपर डॉक्यूमेंटेशन में विस्तार से वर्णित है। इन स्कीम्स को ऐप द्वारा घोषित किया जाना चाहिए, जो फिर इन स्कीम्स का पालन करते हुए आने वाले URLs को संभालता है। इस वेक्टर के माध्यम से हमलों को रोकने के लिए सभी URL पैरामीटरों की पुष्टि करना और किसी भी गलतफहमी वाले URLs को छोड़ना महत्वपूर्ण है।
एक उदाहरण दिया गया है जहां URI myapp://hostname?data=123876123
एक विशिष्ट एप्लिकेशन क्रिया को आमंत्रित करता है। एक नोट किया गया वंर्नबिलिटी था Skype Mobile ऐप में, जिसने skype://
प्रोटोकॉल के माध्यम से अनधिकृत कॉल क्रियाएँ संभावित बनाई थी। पंजीकृत स्कीम्स ऐप के Info.plist
में CFBundleURLTypes
के तहत पाए जा सकते हैं। दुर्भाग्यपूर्ण ऐप्लिकेशन इसे उत्पीड़ित करके यह शोषण कर सकते हैं और संवेदनशील जानकारी को अवरोधित कर सकते हैं।
एप्लिकेशन क्वेरी स्कीम्स पंजीकरण
iOS 9.0 से, किसी ऐप की उपलब्धता की जांच करने के लिए, canOpenURL:
में URL स्कीम्स की घोषणा करने की आवश्यकता होती है Info.plist
के तहत LSApplicationQueriesSchemes
के तहत। यह ऐप को 50 तक क्वेरी करने की सीमा लगाता है, जिससे ऐप की गणना को रोककर गोपनीयता को बढ़ाता है।
<key>LSApplicationQueriesSchemes</key>
<array>
<string>url_scheme1</string>
<string>url_scheme2</string>
</array>
परीक्षण URL हैंडलिंग और मान्यता
डेवलपर्स को URL पथ निर्माण और मान्यता को समझने के लिए स्रोत कोड में विशिष्ट विधियों की जांच करनी चाहिए, जैसे application:didFinishLaunchingWithOptions:
और application:openURL:options:
। उदाहरण के लिए, टेलीग्राम विभिन्न विधियों का उपयोग URL खोलने के लिए करता है:
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
}
अन्य ऐप्स के लिए URL अनुरोधों का परीक्षण
openURL:options:completionHandler:
जैसी विधियाँ अन्य ऐप्स के साथ संवाद करने के लिए URL खोलने के लिए महत्वपूर्ण हैं। ऐप के स्रोत कोड में इस प्रकार की विधियों की पहचान, बाह्य संचार को समझने के लिए महत्वपूर्ण है।
पुरानी विध
$ 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
संदर्भ
जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert)!
HackTricks का समर्थन करने के अन्य तरीके:
- यदि आप अपनी कंपनी का विज्ञापन HackTricks में देखना चाहते हैं या HackTricks को PDF में डाउनलोड करना चाहते हैं तो सब्सक्रिप्शन प्लान्स देखें!
- आधिकारिक PEASS और HackTricks स्वैग प्राप्त करें
- हमारे विशेष NFTs कलेक्शन, The PEASS Family खोजें
- शामिल हों 💬 डिस्कॉर्ड समूह या टेलीग्राम समूह या मुझे ट्विटर पर फॉलो करें 🐦 @carlospolopm.
- अपने हैकिंग ट्रिक्स साझा करें, HackTricks और HackTricks Cloud github repos में PRs सबमिट करके।