Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
arcgis-web-shell — ArcGIS Enterprise जियोप्रोसेसिंग सेवा जो कमांड निष्पादन के लिए एक Python टूलबॉक्स प्रकाशित करती है। | Kitploit
उपकरण/GitHubGitHub/ryanpohlner/arcgis-web-shell
विशेषाधिकार वृद्धिशोषणवेब एप्लिकेशन शोषणपोस्ट-शोषणपेनिट्रेशन टेस्टिंगरेड टीमिंगरिमोट एक्सेस टूलपेलोड डेवलपमेंट
GitHubryanpohlner/arcgis-web-shell

arcgis-web-shell

ArcGIS Enterprise जियोप्रोसेसिंग सेवा जो कमांड निष्पादन के लिए एक Python टूलबॉक्स प्रकाशित करती है।

रिपॉजिटरी देखें
5664 महीने पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

Geoprocessing Service के माध्यम से ArcGIS Web Shell

यह रिपॉज़िटरी एक ArcGIS geoprocessing service definition शामिल करती है जो एक Python toolbox को command-execution task के रूप में प्रकाशित करती है। यह अधिकृत security testing के लिए है।

इस सेवा को उन सिस्टम पर प्रकाशित या उपयोग न करें जहाँ आपके पास स्पष्ट प्राधिकरण नहीं है। एक geoprocessing service ArcGIS Server service account के रूप में server-side code चलाती है, इसलिए यह प्रोजेक्ट होस्ट के लिए web-shell-जैसा इंटरफ़ेस बना सकता है।

यह क्या है

मुख्य artifact ArcGIS_Shell है, जो एक इनपुट पैरामीटर वाला Python toolbox task है:

command

जब कार्य चलता है, तो सर्वर उस कमांड को ऑपरेटिंग सिस्टम शेल के माध्यम से निष्पादित करता है और सामान्य कंसोल आउटपुट को ArcGIS कार्य परिणाम के माध्यम से लौटाता है।

रेपो में दो पूर्व-निर्मित ArcGIS सेवा परिभाषा फ़ाइलें शामिल हैं:

ArcGIS_Shell_10.9.1_and_earlier.sd
ArcGIS_Shell_11_or_later.sd

इसमें निकाले गए सेवा-परिभाषा फ़ोल्डर भी शामिल हैं:

ArcGIS_Shell_10.9.1_and_earlier/
ArcGIS_Shell_11_or_later/

ये फ़ोल्डर उन फ़ाइलों को समाहित करते हैं जिन्हें ArcGIS .sd संग्रहों में पैकेज करता है, जिनमें एम्बेडेड ArcGIS_Shell.pyt फ़ाइलें भी शामिल हैं। सेवा परिभाषा बदलते समय निकाले गए फ़ोल्डरों को संपादित करें, फिर package_sd.py के साथ .sd फ़ाइलों को पुनः बनाएँ।

सेवा परिभाषाएँ

ArcGIS सेवा परिभाषा (.sd) एक पैकेज्ड डिप्लॉयमेंट आर्टिफ़ैक्ट है। इसमें सेवा मेटाडेटा, कॉन्फ़िगरेशन, टूलबॉक्स या मैप संसाधन, और ArcGIS Server द्वारा सेवा प्रकाशित करने के लिए आवश्यक सहायक फ़ाइलें शामिल होती हैं।

इस रेपो में, प्रत्येक .sd एक 7-Zip संग्रह है जो ArcGIS-संगत संपीड़न सेटिंग्स का उपयोग करता है:

-ms=off
-m0=LZMA:d=14

दो सेवा-परिभाषा फ़ोल्डर मुख्य रूप से ArcGIS पैकेजिंग संस्करण के आधार पर भिन्न होते हैं:

10.9.1 and earlier: p20 paths, offlineSDVersion10x, ArcGIS 2.9 schema
11 or later:        p30 paths, offlineSDVersion11,  ArcGIS 3.1 schema

एम्बेडेड Python टूलबॉक्स लॉजिक दोनों में समान है।

जियोप्रोसेसिंग सेवाएँ

ArcGIS जियोप्रोसेसिंग सेवाएँ सामान्यतः HTTP के माध्यम से GIS विश्लेषण वर्कफ़्लो को उजागर करने के लिए उपयोग की जाती हैं। एक सामान्य वर्कफ़्लो है:

  1. ArcGIS Pro में एक Python टूलबॉक्स, मॉडल, या स्क्रिप्ट टूल लिखें।
  2. इसे जियोप्रोसेसिंग सेवा के रूप में प्रकाशित करें।
  3. ArcGIS क्लाइंट, वेब ऐप्स, या REST क्लाइंट से सेवा को कॉल करें।
  4. ArcGIS Server को टूल चलाने दें और परिणाम लौटाने दें।

वैध उदाहरणों में फ़ीचर क्लिपिंग, नेटवर्क विश्लेषण चलाना, रास्टर प्रोसेसिंग, रिपोर्ट जनरेट करना, और बैच GIS रूपांतरण करना शामिल है।

महत्वपूर्ण सुरक्षा विशेषता यह है कि जियोप्रोसेसिंग कार्य सर्वर-साइड Python निष्पादित करते हैं। यदि कोई प्रकाशित कार्य उपयोगकर्ता-नियंत्रित इनपुट स्वीकार करता है और इसे subprocess.run(..., shell=True) जैसे खतरनाक प्रिमिटिव्स में पास करता है, तो जियोप्रोसेसिंग कार्य एक कमांड-निष्पादन इंटरफ़ेस बन जाता है। यही इस प्रोजेक्ट में प्रदर्शित किया गया है।

इसे क्यों दुरुपयोग किया जा सकता है

Shell कार्य command नामक एक स्ट्रिंग पैरामीटर स्वीकार करता है। Python टूलबॉक्स उस कमांड को ArcGIS Server होस्ट पर चलाता है और कार्य परिणाम में stdout/stderr लौटाता है।

इसका अर्थ है कि ArcGIS जियोप्रोसेसिंग सेवाओं को प्रकाशित करने या प्रशासित करने की अनुमति रखने वाला एक ऑपरेटर सामान्य ArcGIS कार्यक्षमता के माध्यम से वेब-शेल जैसी सेवा बना सकता है। कमांड ArcGIS Server प्रोसेस अकाउंट के सुरक्षा संदर्भ में चलता है।

सेवा ArcGIS Uploads क्षमता को भी सक्षम करती है। यह सेवा अपलोड एंडपॉइंट्स को उजागर करती है:

/arcgis/rest/services/ArcGIS_Shell/GPServer/uploads
/arcgis/rest/services/ArcGIS_Shell/GPServer/uploads/upload

ArcGIS Server द्वारा अपलोड को साइट सिस्टम निर्देशिका में संग्रहीत किया जाता है, आमतौर पर इस तरह के पथ के अंतर्गत:

<arcgisserver>/directories/arcgissystem/arcgisuploads/<itemID>

सटीक पथ ArcGIS Server निर्देशिका कॉन्फ़िगरेशन पर निर्भर करता है। व्यवस्थापक अपलोड किए गए आइटम को इसके माध्यम से देख सकते हैं:

https://<server>/arcgis/admin/uploads?f=pjson

arcgissystem में फ़ाइलों को मैन्युअल रूप से संशोधित या हटाएँ नहीं। REST या Administrator Directory के माध्यम से अपलोड आइटम हटाएँ।

ArcGIS Server Manager के माध्यम से प्रकाशित करना

लक्ष्य ArcGIS संस्करण से मेल खाने वाली .sd फ़ाइल का उपयोग करें:

ArcGIS_Shell_10.9.1_and_earlier.sd
ArcGIS_Shell_11_or_later.sd

विशिष्ट Server Manager प्रवाह:

  1. ArcGIS Server Manager खोलें:

    https://<server>/arcgis/manager
    
  2. ऐसे खाते से साइन इन करें जिसे सेवाएँ प्रकाशित करने का अधिकार है। इसमें आमतौर पर portaladmin शामिल होता है।

  3. Services पर जाएँ।

  4. Publish Service पर क्लिक करें।

  5. ArcGIS संस्करण के लिए उपयुक्त .sd फ़ाइल अपलोड करें। Next पर क्लिक करें।

  6. "Specify properties for your new service" पृष्ठ पर, यदि चाहें तो सेवा का नाम बदलें। Next पर क्लिक करें।

  7. "Share your services with" पृष्ठ पर, आपको किसी भी बॉक्स को चेक करने की आवश्यकता नहीं है। Publish पर क्लिक करें।

  8. सेवा स्वचालित रूप से शुरू हो जाती है। सेवा के नाम पर क्लिक करें, फिर Capabilities पर, फिर REST URL पर।

सेवा को हटाने के लिए, सेवा के नाम के बगल में "X" पर क्लिक करें।

पहले से बनी .sd फ़ाइलों में पहले से शामिल हैं:

"capabilities": "Uploads"

वे परीक्षण के लिए व्यापक अपलोड सेटिंग्स भी शामिल करते हैं:

"maxUploadFileSize": "2048",
"allowedUploadFileTypes": "<broad explicit extension list>"

maxUploadFileSize MB में है। एक्सटेंशन सूची जानबूझकर मूल्यांकन कार्य के लिए व्यापक रखी गई है, लेकिन यह अभी भी एक स्पष्ट allowlist है, न कि वास्तविक "सब कुछ अनुमति दें" वाइल्डकार्ड।

REST Web GUI का उपयोग करना

प्रकाशित करने के बाद, ArcGIS REST Services Directory में सेवा खोलें:

https://<server>/arcgis/rest/services/ArcGIS_Shell/GPServer

यदि सेवा किसी फ़ोल्डर के अंदर प्रकाशित है, तो फ़ोल्डर का नाम शामिल करें:

https://<server>/arcgis/rest/services/<folder>/ArcGIS_Shell/GPServer

कार्य खोलें:

https://<server>/arcgis/rest/services/ArcGIS_Shell/GPServer/Shell

Execute Task पर क्लिक करें।

अपना कमांड सेट करें और फ़ॉर्म सबमिट करें। कार्य परिणाम में कमांड आउटपुट होना चाहिए।

आउटपुट JSON प्रारूपित है, इसलिए न्यूलाइन्स एस्केप किए गए हैं (\r\n)। आपको मल्टी-लाइन आउटपुट को पोस्ट-प्रोसेस करना होगा।

चूँकि कार्य ऑपरेटिंग सिस्टम शेल का उपयोग करता है, शेल बिल्ट-इन्स काम करते हैं:

dir
echo test
whoami /groups

Linux लक्ष्यों पर, Linux कमांड का उपयोग करें:

id
uname -a
pwd

फ़ाइलें अपलोड करना

uploads संसाधन खोलें:

https://<server>/arcgis/rest/services/ArcGIS_Shell/GPServer/uploads

Upload Item पर क्लिक करें, या सीधे यहाँ जाएँ:

https://<server>/arcgis/rest/services/ArcGIS_Shell/GPServer/uploads/upload

REST वेब GUI को अपलोड सक्षम होने पर फ़ाइल पिकर दिखाना चाहिए।

फ़ाइल चुनने और अपलोड सबमिट करने के लिए फ़ॉर्म का उपयोग करें। प्रतिक्रिया में एक itemID शामिल होता है।

इसके साथ अपलोड किए गए आइटम का निरीक्षण करें:

https://<server>/arcgis/rest/services/ArcGIS_Shell/GPServer/uploads/<itemID>

अपलोड किए गए आइटम को इसके साथ हटाएँ:

https://<server>/arcgis/rest/services/ArcGIS_Shell/GPServer/uploads/<itemID>/delete

उस पृष्ठ पर REST वेब फ़ॉर्म का उपयोग करके delete ऑपरेशन सबमिट करें।

अपलोड की गई फ़ाइलें ArcGIS Server सिस्टम डायरेक्टरी क्लीनअप नीति के अधीन भी होती हैं। डिफ़ॉल्ट सिस्टम डायरेक्टरी क्लीनअप आयु सामान्यतः 24 घंटे होती है, लेकिन प्रशासक इसे बदल सकते हैं।

डिस्क पर अपलोड की गई फ़ाइलें ढूँढना

ArcGIS सेवा अपलोड को ArcGIS Server साइट सिस्टम डायरेक्टरी में संग्रहीत करता है, न कि सेवा फ़ोल्डर में और न ही .sd पैकेज के अंदर। सामान्य स्थान यह है:

<server-directories-root>/arcgissystem/arcgisuploads/<itemID>/

सामान्य Windows लेआउट:

C:\arcgisserver\directories\arcgissystem\arcgisuploads\<itemID>\

सामान्य Linux लेआउट:

/arcgis/server/usr/directories/arcgissystem/arcgisuploads/<itemID>/

ये केवल उदाहरण हैं। सटीक पथ इस बात पर निर्भर करता है कि ArcGIS Server साइट निर्देशिकाएँ कैसे कॉन्फ़िगर की गई थीं।

सटीक डिस्क पथ खोजने के लिए, Administrator Directory खोलें:

https://<server>/arcgis/admin/uploads?f=pjson
टूल डाउनलोड करें