hacktricks/mobile-pentesting/ios-pentesting/ios-custom-uri-handlers-deeplinks-custom-schemes.md

199 lines
23 KiB
Markdown
Raw Normal View History

2022-04-28 16:01:33 +00:00
<details>
2023-04-25 18:35:28 +00:00
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
2022-04-28 16:01:33 +00:00
2023-11-06 08:38:02 +00:00
- क्या आप किसी **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **HackTricks में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS की नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का उपयोग** करना चाहिए? [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जांच करें!
2022-04-28 16:01:33 +00:00
2023-11-06 08:38:02 +00:00
- खोजें [**The PEASS Family**](https://opensea.io/collection/the-peass-family), हमारा विशेष संग्रह [**NFTs**](https://opensea.io/collection/the-peass-family)
2022-04-28 16:01:33 +00:00
2023-11-06 08:38:02 +00:00
- प्राप्त करें [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com)
2022-04-28 16:01:33 +00:00
2023-11-06 08:38:02 +00:00
- **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में या मुझे **Twitter** पर **फ़ॉलो** करें [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
2022-04-28 16:01:33 +00:00
2023-11-06 08:38:02 +00:00
- **अपने हैकिंग ट्रिक्स को [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके साझा करें।**
2022-04-28 16:01:33 +00:00
</details>
2023-11-06 08:38:02 +00:00
कस्टम URL स्कीम [ऐप्स को एक कस्टम प्रोटोकॉल के माध्यम से संचार करने की अनुमति देते हैं](https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Inter-AppCommunication/Inter-AppCommunication.html#//apple\_ref/doc/uid/TP40007072-CH6-SW1)। एक ऐप को स्कीम को घोषित करना होगा और उन URL को संभालना होगा जो उन स्कीम का उपयोग करते हैं।
2021-05-21 16:38:18 +00:00
2023-11-06 08:38:02 +00:00
> URL स्कीम आपके ऐप में एक संभावित हमला वेक्टर प्रदान करते हैं, इसलिए सुनिश्चित करें कि **सभी URL पैरामीटरों की पुष्टि करें** और **अवैध URL को छोड़ दें**। इसके अलावा, उपयोगकर्ता के डेटा को जोखिम में न डालने वाले **क्रियाएँ** को ही उपलब्ध कराएं।
2021-05-21 16:38:18 +00:00
2023-11-06 08:38:02 +00:00
उदाहरण के लिए, URI: `myapp://hostname?data=123876123` ऐप्लिकेशन mydata (जिसने स्कीम `mydata` को **रजिस्टर** किया है) को **होस्टनेम** `hostname` के संबंधित **क्रिया** को बुलाएगा और मान `123876123` के साथ **पैरामीटर** `data` को भेजेगा।
2021-05-21 16:38:18 +00:00
2023-11-06 08:38:02 +00:00
एक संकटग्रस्त उदाहरण है [Skype Mobile ऐप में बग](http://www.dhanjani.com/blog/2010/11/insecure-handling-of-url-schemes-in-apples-ios.html), जिसे 2010 में खोजा गया था: Skype ऐप ने `skype://` प्रोटोकॉल हैंडलर को रजिस्टर किया था, जिसने **अन्य ऐप्स को अन्य Skype उपयोगकर्ताओं और फ़ोन नंबरों पर कॉल करने की अनुमति दी**। दुर्भाग्य से, Skype ने कॉल करने से पहले उपयोगकर्ताओं से अनुमति नहीं मांगी, इसलिए किसी भी ऐप ने उपयोगकर्ता के ज्ञान के बिना विभिन्न नंबरों पर कॉल कर सकता था। हमलावर ने इस संक्रमण का उपयोग करके एक अदृश्य `<iframe src="skype://xxx?call"></iframe>` (जहां `xxx` को एक प्रीमियम नंबर से बदल दिया गया था) रखा, इसलिए किसी भी Skype उपयोगकर्ता ने अनजाने में एक खतरनाक वेबसाइट पर जाने पर प्रीमियम नंबर को कॉल किया।
2021-05-21 16:38:18 +00:00
2023-11-06 08:38:02 +00:00
आप ऐप्लिकेशन द्वारा **रजिस्टर किए गए स्कीम** को ऐप के **`Info.plist`** फ़ाइल में ढूंढ़ सकते हैं, **`CFBundleURLTypes`** के लिए खोज करके (उदाहरण [iGoat-Swift](https://github.com/OWASP/iGoat-Swift) से):
2021-05-21 16:38:18 +00:00
```markup
<key>CFBundleURLTypes</key>
<array>
2023-11-06 08:38:02 +00:00
<dict>
<key>CFBundleURLName</key>
<string>com.iGoat.myCompany</string>
<key>CFBundleURLSchemes</key>
<array>
<string>iGoat</string>
</array>
</dict>
2021-05-21 16:38:18 +00:00
</array>
```
2023-11-06 08:38:02 +00:00
यहां ध्यान दें, कि **दुष्ट एप्लिकेशन URIs को पुनः पंजीकृत कर सकते हैं** जो पहले से ही एप्लिकेशन्स द्वारा पंजीकृत हो चुके होते हैं। इसलिए, यदि आप **URIs के माध्यम से संवेदनशील जानकारी भेज रहे हैं** (myapp://hostname?password=123456), तो एक **दुष्ट** एप्लिकेशन इस **संवेदनशील** **जानकारी** के साथ URI को **अवरोधित** कर सकती है।
2021-05-21 16:38:18 +00:00
2023-11-06 08:38:02 +00:00
इसके अलावा, इन URIs का **इनपुट जांचा और स्वच्छ किया जाना चाहिए**, क्योंकि यह **दुष्ट** **मूलों** से आ सकता है जो SQLInjections, XSS, CSRF, Path Traversals या अन्य संभावित सुरक्षा दुरुपयोग करने की कोशिश कर रहे हों।
2021-05-21 16:38:18 +00:00
2023-11-06 08:38:02 +00:00
## एप्लिकेशन क्वेरी स्कीम पंजीकरण
2021-05-21 16:38:18 +00:00
2023-11-06 08:38:02 +00:00
ऐप्स [`canOpenURL:`](https://developer.apple.com/documentation/uikit/uiapplication/1622952-canopenurl?language=objc) को कॉल करके **लक्षित ऐप्लिकेशन उपलब्ध है या नहीं** की जांच कर सकते हैं। हालांकि, यह विधि दुष्ट ऐप्लिकेशन द्वारा **स्थापित ऐप्स की गणना करने** के रूप में इस्तेमाल की जा रही थी, [iOS 9.0 से URL स्कीम्स को भी घोषित](https://developer.apple.com/documentation/uikit/uiapplication/1622952-canopenurl?language=objc#discussion) किया जाना चाहिए, ऐप के `Info.plist` फ़ाइल में `LSApplicationQueriesSchemes` कुंजी और **अधिकतम 50 URL स्कीम्स** की एक सरणी जोड़कर।
2021-05-21 16:38:18 +00:00
```markup
<key>LSApplicationQueriesSchemes</key>
2023-11-06 08:38:02 +00:00
<array>
<string>url_scheme1</string>
<string>url_scheme2</string>
</array>
2021-05-21 16:38:18 +00:00
```
2023-11-06 08:38:02 +00:00
`canOpenURL` हमेशा `NO` लौटाएगा अविणियत योजनाओं के लिए, चाहे उपयुक्त ऐप स्थापित हो या न हो। हालांकि, यह प्रतिबंध केवल `canOpenURL` के लिए ही लागू होता है।
2021-05-21 16:38:18 +00:00
2023-11-06 08:38:02 +00:00
## URL हैंडलिंग और मान्यता की परीक्षण
2021-05-21 16:38:18 +00:00
2023-11-06 08:38:02 +00:00
URL पथ कैसे बनाया और मान्यता कैसे की जाती है इसे निर्धारित करने के लिए, यदि आपके पास मूल स्रोत कोड है, तो आप निम्नलिखित विधियों की खोज कर सकते हैं:
2021-05-21 16:38:18 +00:00
2023-11-06 08:38:02 +00:00
* `application:didFinishLaunchingWithOptions:` विधि या `application:will-FinishLaunchingWithOptions:`: यह निर्णय कैसे लिया जाता है और URL के बारे में जानकारी कैसे प्राप्त की जाती है, इसे सत्यापित करें।
* [`application:openURL:options:`](https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1623112-application?language=objc): यह सत्यापित करें कि संसाधन कैसे खोला जा रहा है, अर्थात डेटा कैसे पार्स किया जा रहा है, [विकल्प](https://developer.apple.com/documentation/uikit/uiapplication/openurloptionskey) की सत्यापन करें, विशेष रूप से यदि कॉलिंग ऐप द्वारा पहुंच ([`sourceApplication`](https://developer.apple.com/documentation/uikit/uiapplication/openurloptionskey/1623128-sourceapplication)) की अनुमति देनी चाहिए या नहीं। कस्टम URL योजना का उपयोग करते समय ऐप को उपयोगकर्ता की अनुमति भी चाहिए सकती है।
2021-05-21 16:38:18 +00:00
2023-11-06 08:38:02 +00:00
टेलीग्राम में [चार अलग-अलग विधियों का उपयोग किया जाता है](https://github.com/peter-iakovlev/Telegram-iOS/blob/87e0a33ac438c1d702f2a0b75bf21f26866e346f/Telegram-iOS/AppDelegate.swift#L1250):
2021-05-21 16:38:18 +00:00
```swift
func application(_ application: UIApplication, open url: URL, sourceApplication: String?) -> Bool {
2023-11-06 08:38:02 +00:00
self.openUrl(url: url)
return true
2021-05-21 16:38:18 +00:00
}
func application(_ application: UIApplication, open url: URL, sourceApplication: String?,
annotation: Any) -> Bool {
2023-11-06 08:38:02 +00:00
self.openUrl(url: url)
return true
2021-05-21 16:38:18 +00:00
}
func application(_ app: UIApplication, open url: URL,
options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
2023-11-06 08:38:02 +00:00
self.openUrl(url: url)
return true
2021-05-21 16:38:18 +00:00
}
func application(_ application: UIApplication, handleOpen url: URL) -> Bool {
2023-11-06 08:38:02 +00:00
self.openUrl(url: url)
return true
2021-05-21 16:38:18 +00:00
}
```
2023-11-06 08:38:02 +00:00
## अन्य ऐप्स के लिए URL अनुरोधों का परीक्षण
2021-05-21 16:38:18 +00:00
2023-11-06 08:38:02 +00:00
विधि [`openURL:options:completionHandler:`](https://developer.apple.com/documentation/uikit/uiapplication/1648685-openurl?language=objc) और [विचलित `UIApplication` की `openURL:` विधि](https://developer.apple.com/documentation/uikit/uiapplication/1622961-openurl?language=objc) जिम्मेदार हैं **URL खोलने** के लिए (अर्थात अन्य ऐप्स को अनुरोध भेजने / प्रश्न करने के लिए) जो वर्तमान ऐप के लिए स्थानीय हो सकता है या यह एक ऐसा हो सकता है जिसे एक अलग ऐप द्वारा प्रदान किया जाना चाहिए। यदि आपके पास मूल स्रोत कोड है, तो आप सीधे उन विधियों के उपयोग की खोज कर सकते हैं।
2021-05-21 16:38:18 +00:00
2023-11-06 08:38:02 +00:00
इसके अलावा, यदि आप जानना चाहते हैं कि क्या ऐप विशेष सेवाओं या ऐप्स को प्रश्न कर रहा है, और यदि ऐप विख्यात है, तो आप ऑनलाइन सामान्य URL schemes की खोज कर सकते हैं और उन्हें अपने **greps (l**[**iOS ऐप स्कीमों की सूची**](https://ios.gadgethacks.com/how-to/always-updated-list-ios-app-url-scheme-names-paths-for-shortcuts-0184033/)**)** में शामिल कर सकते हैं।
2021-05-21 16:38:18 +00:00
```bash
egrep -nr "open.*options.*completionHandler" ./Telegram-iOS/
egrep -nr "openURL\(" ./Telegram-iOS/
egrep -nr "mt-encrypted-file://" ./Telegram-iOS/
egrep -nr "://" ./Telegram-iOS/
```
2023-11-06 08:38:02 +00:00
## विचलित विधियों के लिए परीक्षण
2021-05-21 16:38:18 +00:00
2023-11-06 08:38:02 +00:00
इस तरह के विचलित विधियों की खोज करें जैसे:
2021-05-21 16:38:18 +00:00
* [`application:handleOpenURL:`](https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1622964-application?language=objc)
* [`openURL:`](https://developer.apple.com/documentation/uikit/uiapplication/1622961-openurl?language=objc)
* [`application:openURL:sourceApplication:annotation:`](https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1623073-application)
2023-11-06 08:38:02 +00:00
उदाहरण के लिए, यहां हम उन तीनों को खोजते हैं:
2021-05-21 16:38:18 +00:00
```bash
$ rabin2 -zzq Telegram\ X.app/Telegram\ X | grep -i "openurl"
0x1000d9e90 31 30 UIApplicationOpenURLOptionsKey
0x1000dee3f 50 49 application:openURL:sourceApplication:annotation:
0x1000dee71 29 28 application:openURL:options:
0x1000dee8e 27 26 application:handleOpenURL:
0x1000df2c9 9 8 openURL:
0x1000df766 12 11 canOpenURL:
0x1000df772 35 34 openURL:options:completionHandler:
...
```
2023-11-06 08:38:02 +00:00
## अनियमित URL को बुलाना
2021-05-21 16:38:18 +00:00
2023-11-06 08:38:02 +00:00
* **Safari**: एक URL scheme को जल्दी से टेस्ट करने के लिए आप Safari में URL को खोल सकते हैं और देख सकते हैं कि ऐप कैसे व्यवहार करता है। उदाहरण के लिए, यदि आप `tel://123456789` लिखते हैं तो Safari कोशिश करेगा कि वह नंबर को कॉल करना शुरू करे।
* **Notes App**: कस्टम URL scheme को टेस्ट करने के लिए आप लिंक को लंबे समय तक दबा सकते हैं। उन्हें खोलने के लिए संपादन मोड से बाहर निकलना न भूलें। ध्यान दें कि आप केवल ऐप स्थापित होने पर ही कस्टम URL scheme वाले लिंक पर क्लिक या लंबे समय तक दबा सकते हैं, अगर नहीं हैं तो वे _क्लिक करने योग्य लिंक_ के रूप में हाइलाइट नहीं होंगे।
2021-05-21 16:38:18 +00:00
* [**IDB**](https://github.com/facebook/idb):
2023-11-06 08:38:02 +00:00
* IDB शुरू करें, अपनी डिवाइस से कनेक्ट करें और लक्षित ऐप का चयन करें। आप [IDB दस्तावेज़ीकरण](https://www.idbtool.com/documentation/setup.html) में विवरण देख सकते हैं।
* **URL Handlers** खंड में जाएं। **URL schemes** में, **Refresh** पर क्लिक करें, और बाएं ओर आपको टेस्ट हो रहे ऐप में परिभाषित सभी कस्टम schemes की सूची मिलेगी। आप इन schemes को खोलकर उन्हें लोड कर सकते हैं, दाएं ओर **Open** पर क्लिक करके। एक सादा URI scheme (उदाहरण के लिए, `myURLscheme://` खोलकर) खोलकर आप छिपी हुई कार्यक्षमता (उदाहरण के लिए, एक डिबग विंडो) का पता लगा सकते हैं और स्थानीय प्रमाणीकरण को छलना कर सकते हैं।
2022-04-05 22:24:52 +00:00
* **Frida**:
2021-05-21 16:38:18 +00:00
2023-11-06 08:38:02 +00:00
यदि आप केवल URL scheme को खोलना चाहते हैं तो आप इसे Frida का उपयोग करके कर सकते हैं:
2021-05-21 16:38:18 +00:00
2023-11-06 08:38:02 +00:00
```javascript
$ frida -U iGoat-Swift
2021-05-21 16:38:18 +00:00
2023-11-06 08:38:02 +00:00
[iPhone::iGoat-Swift]-> function openURL(url) {
var UIApplication = ObjC.classes.UIApplication.sharedApplication();
var toOpen = ObjC.classes.NSURL.URLWithString_(url);
return UIApplication.openURL_(toOpen);
}
[iPhone::iGoat-Swift]-> openURL("tel://234234234")
true
```
2021-05-21 16:38:18 +00:00
2023-11-06 08:38:02 +00:00
इस उदाहरण में [Frida CodeShare](https://codeshare.frida.re/@dki/ios-url-scheme-fuzzing/) से लेखक ने गैर-सार्वजनिक API `LSApplicationWorkspace.openSensitiveURL:withOptions:` का उपयोग करके URL को खोलने के लिए किया है (SpringBoard ऐप से):
2021-05-21 16:38:18 +00:00
2023-11-06 08:38:02 +00:00
```javascript
function openURL(url) {
var w = ObjC.classes.LSApplicationWorkspace.defaultWorkspace();
var toOpen = ObjC.classes.NSURL.URLWithString_(url);
return w.openSensitiveURL_withOptions_(toOpen, null);
}
```
2021-05-21 16:38:18 +00:00
2023-11-06 08:38:02 +00:00
> ध्यान दें कि गैर-सार्वजनिक API का उपयोग ऐप स्टोर पर अनुमति नहीं है, इसलिए हम इन्हें टेस्ट भी नहीं करते हैं, लेकिन हमें अपने डायनामिक विश्लेषण के लिए उनका उपयोग करने की अनुमति है।
2021-05-21 16:38:18 +00:00
2023-11-06 08:38:02 +00:00
## URL Schemes को फज़िलता करना
2021-05-21 16:38:18 +00:00
2023-11-06 08:38:02 +00:00
यदि ऐप URL के भागों को पार्स करता है, तो आप मेमोरी कोरप्शन बग्स का पता लगाने के लिए इनपुट फज़िलता भी कर सकते हैं।
2021-05-21 16:38:18 +00:00
2023-11-06 08:38:02 +00:00
ऊपर जो हमने सीखा है, उसे अब अपनी पसंद की भाषा में अपने खुद के फज़र बनाने के लिए उपयोग किया जा सकता है, जैसे Python में और [Frida के RPC](https://www.frida.re/docs/javascript-api/#rpc) का उपयोग करके `openURL` को कॉल करें। वह फज़र निम्नलिखित कार्य करना चाहिए:
2021-05-21 16:38:18 +00:00
2023-11-06 08:38:02 +00:00
* पेलोड उत्पन्न करें।
* प्रत्येक के लिए `openURL` को कॉल करें।
* यह जांचें कि क्या ऐप क्रैश रिपोर्ट (`.ips`) उत्पन्न करता है `/private/var/mobile/Library/Logs/CrashReporter` में।
2021-05-21 16:38:18 +00:00
2023-11-06 08:38:02 +00:00
[FuzzDB](https://github.com/fuzzdb-project/fuzzdb) परियोजना फज़िलता शब्दकोश प्रदान करती है जिसका आप पेलोड के रूप में उपयोग कर सकते हैं।
2021-05-21 16:38:18 +00:00
2023-11-06 08:38:02 +00:00
## Frida का उपयोग करके फज़िलता करना
2021-05-21 16:38:18 +00:00
2023-11-06 08:38:02 +00:00
Frida के साथ इसे करना बहुत आसान है, आप इस [ब्लॉग पोस्ट](https://grepharder.github.io/blog/0x03\_learning\_about\_universal\_links\_and\_fuzzing\_url\_schemes\_on\_ios\_with\_frida.html) का उल्लेख कर सकते हैं जो iGoat-Swift ऐप (iOS 11.1.2 पर काम करता है) को फज़िलता करता है।
2021-05-21 16:38:18 +00:00
2023-11-06 08:38:02 +00:00
फज़र चलाने से पहले हमें इनपुट के रूप में URL schemes की आवश्यकता होती है। स्टेटिक विश्लेषण से हम जानते हैं कि iGoat-Swift ऐप निम्नलिखित URL scheme और पैरामीटर का समर्थन करता है: `iGoat://?contactNumber={0}&message={0}`.
2021-05-21 16:38:18 +00:00
```bash
$ 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
```
2023-11-06 08:38:02 +00:00
# संदर्भ
2021-05-21 16:38:18 +00:00
{% embed url="https://mobile-security.gitbook.io/mobile-security-testing-guide/ios-testing-guide/0x06h-testing-platform-interaction#testing-object-persistence-mstg-platform-8" %}
2021-05-21 16:38:18 +00:00
2022-04-28 16:01:33 +00:00
<details>
2023-04-25 18:35:28 +00:00
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
2022-04-28 16:01:33 +00:00
2023-11-06 08:38:02 +00:00
- क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **हैकट्रिक्स में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का उपयोग** करने की आवश्यकता है? [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जांच करें!
2022-04-28 16:01:33 +00:00
2023-11-06 08:38:02 +00:00
- खोजें [**The PEASS Family**](https://opensea.io/collection/the-peass-family), हमारा विशेष संग्रह [**NFTs**](https://opensea.io/collection/the-peass-family)
2022-04-28 16:01:33 +00:00
2023-11-06 08:38:02 +00:00
- प्राप्त करें [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com)
2022-04-28 16:01:33 +00:00
2023-11-06 08:38:02 +00:00
- **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में या मुझे **ट्विटर** पर **फ़ॉलो** करें [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
2022-04-28 16:01:33 +00:00
2023-11-06 08:38:02 +00:00
- **अपने हैकिंग ट्रिक्स को [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके साझा करें।**
2022-04-28 16:01:33 +00:00
</details>