
Salesforce Experience Cloud के लिए स्वचालित सुरक्षा परीक्षण उपकरण जो अतिथि और प्रमाणित संदर्भों से गलत कॉन्फ़िगर किए गए Aura अनुप्रयोगों, सुलभ रिकॉर्ड और अनधिकृत कार्यक्षमता की खोज करता है।
यह आधिकारिक रूप से समर्थित Google उत्पाद नहीं है। यह परियोजना Google ओपन सोर्स सॉफ्टवेयर भेद्यता पुरस्कार कार्यक्रम के लिए पात्र नहीं है।
aura-inspector Salesforce Experience Cloud परीक्षण का एक स्विस आर्मी चाकू है। यह गलत कॉन्फ़िगर किए गए Salesforce Experience Cloud अनुप्रयोगों की खोज करने में सुविधा प्रदान करता है और साथ ही परीक्षण प्रक्रिया को स्वचालित करता है। अधिक जानकारी के लिए, कृपया Mandiant ब्लॉग पोस्ट देखें: Auditing Salesforce Aura Data Exposure।
इसकी कुछ कार्यक्षमताओं में शामिल हैं:
नीचे दिए गए कमांड का उपयोग करके pipx के साथ उपकरण स्थापित किया जा सकता है।
pipx install git+<URL>
उपकरण को चलाने के लिए Python 3 और निर्भरताएँ डाउनलोड करने के लिए pip की आवश्यकता है। हम निर्भरताओं को स्थापित करने के लिए वर्चुअल वातावरण बनाने की सलाह देते हैं।
git clone <URL>
cd aura-inspector
virtualenv env
source ./env/bin/activate
pip3 install -r requirements.txt
सहायता मेनू को -h फ्लैग का उपयोग करके बुलाया जा सकता है, जो कॉन्फ़िगरेशन की सूची प्रदान करता है।
python3 aura_cli.py -h
usage: python3 aura_cli.py [-h] [-u URL] [-c COOKIES] [-o OUTPUT_DIR] [-l OBJECT_LIST] [-d] [-v] [-p PROXY] [-k] [-a] [--app APP] [--aura AURA] [--context CONTEXT] [--token TOKEN] [--no-gql] [-r AURA_REQUEST_FILE]
options:
-h, --help show this help message and exit
-u, --url URL Root URL of Salesforce application to audit
-c, --cookies COOKIES
Cookies after authenticating to Salesforce application
-o, --output-dir OUTPUT_DIR
Output directory
-l, --object-list OBJECT_LIST
Pull records only the provided objects. Comma separated list of objects.
-d, --debug Print debug information
-v, --verbose Print verbose information
-p, --proxy PROXY Proxy requests
-k, --insecure Ignore invalid TLS certificates
--app APP Provide the target salesforce app's path (e.g: /myApp), the script will try to detect it if not provided
--aura AURA Provide the target salesforce aura's path (e.g: /aura), the script will try to detect it if not provided
--context CONTEXT Provide a context to be used as aura.context in POST requests, the script will use a dummy one if not provided
--token TOKEN Provide an aura token to be used as aura.token in POST requests, the script will use a dummy one if not provided
--no-gql Do not check for GraphQL capability and do not use it
--no-banner Do not display banner
-r, --aura-request-file AURA_REQUEST_FILE
Provide a request file to an /aura endpoint
उपकरण विभिन्न परिदृश्यों में उपयोगी हो सकने वाले विभिन्न विकल्प प्रदान करता है। निम्नलिखित कुछ अलग-अलग स्थितियों को कवर करते हैं।
मानक कॉन्फ़िगरेशन में उपकरण का उपयोग निम्नलिखित कमांड चलाने जितना सरल है। यह सभी जाँचों को अप्रमाणित तरीके से चलाएगा और अतिथि उपयोगकर्ता के दृष्टिकोण से क्या सुलभ है, वापस करेगा।
python3 aura_cli.py -u <URL>
आउटपुट यह भी बताएगा कि क्या कोई स्व-पंजीकरण कार्यक्षमता है जिसका उपयोग आप खाता बनाने के लिए कर सकते हैं। यदि आपको इंस्टेंस पर साइनअप करने का अवसर मिलता है, तो प्रमाणीकृत संदर्भ से उपकरण चलाने से संभवतः अधिक परिणाम मिलेंगे।
प्रमाणीकृत संदर्भ में उपकरण चलाने के लिए, या तो -c पैरामीटर का उपयोग करके SID कुकी प्रदान करें या एक फ़ाइल प्रदान करके उपकरण को आपके लिए इस और अन्य पैरामीटर को पार्स करने दें जिसमें प्रमाणीकृत सत्र में aura एंडपॉइंट पर एक मनमाना अनुरोध की सामग्री हो।
python3 aura_cli.py -r <AURA_REQUEST_FILE>
एक एकल इंस्टेंस पर कई कस्टम ऐप होस्ट किए जा सकते हैं। यह आमतौर पर पहचाना जा सकता है यदि आप पथ में /<custom-app-name>/s जैसा कुछ देखते हैं। यदि ऐसा है, तो हम सभी ऐप्स खोजने और --app पैरामीटर का उपयोग करके उन्हें निर्दिष्ट करने की सलाह देते हैं, क्योंकि आउटपुट काफी भिन्न हो सकता है। यह भी सलाह दी जाती है कि यदि इंस्टेंस पर कोई कस्टम ऐप होस्ट किए गए हैं तो डिफ़ॉल्ट ऐप "/" के विरुद्ध उपकरण चलाने का प्रयास करें।