Jira & Confluence
Reading time: 5 minutes
tip
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाएँ देखें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमारे Twitter 🐦 @hacktricks_live** का पालन करें।**
- हैकिंग ट्रिक्स साझा करें और HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में PRs सबमिट करें।
Check Privileges
Jira में, privileges को किसी भी उपयोगकर्ता द्वारा जांचा जा सकता है, चाहे वह प्रमाणित हो या नहीं, /rest/api/2/mypermissions
या /rest/api/3/mypermissions
के endpoints के माध्यम से। ये endpoints उपयोगकर्ता के वर्तमान privileges को प्रकट करते हैं। एक महत्वपूर्ण चिंता तब उत्पन्न होती है जब गैर-प्रमाणित उपयोगकर्ताओं के पास privileges होते हैं, जो एक सुरक्षा कमजोरियों को इंगित करता है जो संभावित रूप से बाउंटी के लिए योग्य हो सकता है। इसी तरह, प्रमाणित उपयोगकर्ताओं के लिए अप्रत्याशित privileges भी एक कमजोरी को उजागर करते हैं।
1 फरवरी 2019 को एक महत्वपूर्ण अपडेट किया गया, जिसमें 'mypermissions' endpoint को एक 'permission' parameter शामिल करने की आवश्यकता थी। यह आवश्यकता सुरक्षा को बढ़ाने के लिए है, जो पूछे जा रहे privileges को निर्दिष्ट करती है: check it here
- ADD_COMMENTS
- ADMINISTER
- ADMINISTER_PROJECTS
- ASSIGNABLE_USER
- ASSIGN_ISSUES
- BROWSE_PROJECTS
- BULK_CHANGE
- CLOSE_ISSUES
- CREATE_ATTACHMENTS
- CREATE_ISSUES
- CREATE_PROJECT
- CREATE_SHARED_OBJECTS
- DELETE_ALL_ATTACHMENTS
- DELETE_ALL_COMMENTS
- DELETE_ALL_WORKLOGS
- DELETE_ISSUES
- DELETE_OWN_ATTACHMENTS
- DELETE_OWN_COMMENTS
- DELETE_OWN_WORKLOGS
- EDIT_ALL_COMMENTS
- EDIT_ALL_WORKLOGS
- EDIT_ISSUES
- EDIT_OWN_COMMENTS
- EDIT_OWN_WORKLOGS
- LINK_ISSUES
- MANAGE_GROUP_FILTER_SUBSCRIPTIONS
- MANAGE_SPRINTS_PERMISSION
- MANAGE_WATCHERS
- MODIFY_REPORTER
- MOVE_ISSUES
- RESOLVE_ISSUES
- SCHEDULE_ISSUES
- SET_ISSUE_SECURITY
- SYSTEM_ADMIN
- TRANSITION_ISSUES
- USER_PICKER
- VIEW_AGGREGATED_DATA
- VIEW_DEV_TOOLS
- VIEW_READONLY_WORKFLOW
- VIEW_VOTERS_AND_WATCHERS
- WORK_ON_ISSUES
Example: https://your-domain.atlassian.net/rest/api/2/mypermissions?permissions=BROWSE_PROJECTS,CREATE_ISSUES,ADMINISTER_PROJECTS
#Check non-authenticated privileges
curl https://jira.some.example.com/rest/api/2/mypermissions | jq | grep -iB6 '"havePermission": true'
Automated enumeration
Atlasian Plugins
जैसा कि इस ब्लॉग में संकेतित किया गया है, Plugin modules ↗ के बारे में दस्तावेज़ में विभिन्न प्रकार के प्लगइन्स की जांच करना संभव है, जैसे:
- REST Plugin Module ↗: RESTful API endpoints को उजागर करें
- Servlet Plugin Module ↗: एक प्लगइन के हिस्से के रूप में Java servlets को तैनात करें
- Macro Plugin Module ↗: Confluence Macros को लागू करें, यानी पैरामीटरयुक्त HTML टेम्पलेट
यह मैक्रो प्लगइन प्रकार का एक उदाहरण है:
package com.atlassian.tutorial.macro;
import com.atlassian.confluence.content.render.xhtml.ConversionContext;
import com.atlassian.confluence.macro.Macro;
import com.atlassian.confluence.macro.MacroExecutionException;
import java.util.Map;
public class helloworld implements Macro {
public String execute(Map<String, String> map, String body, ConversionContext conversionContext) throws MacroExecutionException {
if (map.get("Name") != null) {
return ("<h1>Hello " + map.get("Name") + "!</h1>");
} else {
return "<h1>Hello World!<h1>";
}
}
public BodyType getBodyType() { return BodyType.NONE; }
public OutputType getOutputType() { return OutputType.BLOCK; }
}
यह देखना संभव है कि ये प्लगइन्स सामान्य वेब कमजोरियों जैसे XSS के प्रति संवेदनशील हो सकते हैं। उदाहरण के लिए, पिछले उदाहरण में यह संवेदनशील है क्योंकि यह उपयोगकर्ता द्वारा दिए गए डेटा को दर्शा रहा है।
एक बार जब XSS मिल जाता है, तो इस github repo में आप XSS के प्रभाव को बढ़ाने के लिए कुछ पेलोड्स पा सकते हैं।
बैकडोर प्लगइन
यह पोस्ट विभिन्न (दुष्ट) क्रियाओं का वर्णन करती है जो एक दुष्ट Jira प्लगइन कर सकता है। आप कोड उदाहरण इस repo में पा सकते हैं।
ये कुछ क्रियाएँ हैं जो एक दुष्ट प्लगइन कर सकता है:
- एडमिन से प्लगइन्स छिपाना: कुछ फ्रंट-एंड जावास्क्रिप्ट इंजेक्ट करके दुष्ट प्लगइन को छिपाना संभव है।
- अटैचमेंट और पृष्ठों को एक्सफिल्ट्रेट करना: सभी डेटा तक पहुंचने और उसे एक्सफिल्ट्रेट करने की अनुमति देना।
- सत्र टोकन चुराना: एक एंडपॉइंट जोड़ें जो प्रतिक्रिया में हेडर को इको करेगा (कुकी के साथ) और कुछ जावास्क्रिप्ट जो इसे संपर्क करेगा और कुकीज़ को लीक करेगा।
- कमांड निष्पादन: निश्चित रूप से, एक प्लगइन बनाना संभव है जो कोड निष्पादित करेगा।
- रिवर्स शेल: या एक रिवर्स शेल प्राप्त करें।
- DOM प्रॉक्सीइंग: यदि कॉन्फ्लुएंस एक निजी नेटवर्क के अंदर है, तो यह संभव होगा कि कुछ उपयोगकर्ता के ब्राउज़र के माध्यम से कनेक्शन स्थापित किया जाए जो इसके लिए पहुंच रखता है और उदाहरण के लिए सर्वर कमांड निष्पादन के माध्यम से संपर्क करे।
tip
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाएँ देखें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमारे Twitter 🐦 @hacktricks_live** का पालन करें।**
- हैकिंग ट्रिक्स साझा करें और HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में PRs सबमिट करें।