Jira & Confluence

Support HackTricks

If you are interested in hacking career and hack the unhackable - we are hiring! (fluent polish written and spoken required).

Check Privileges

Jira में, privileges को किसी भी उपयोगकर्ता द्वारा, प्रमाणित या नहीं, /rest/api/2/mypermissions या /rest/api/3/mypermissions के माध्यम से जांचा जा सकता है। ये एंडपॉइंट उपयोगकर्ता के वर्तमान अधिकारों को प्रकट करते हैं। एक महत्वपूर्ण चिंता तब उत्पन्न होती है जब गैर-प्रमाणित उपयोगकर्ताओं के पास अधिकार होते हैं, जो एक सुरक्षा कमजोरी को इंगित करता है जो संभावित रूप से बाउंटी के लिए योग्य हो सकता है। इसी तरह, प्रमाणित उपयोगकर्ताओं के लिए अप्रत्याशित अधिकार भी एक कमजोरी को उजागर करते हैं।

1 फरवरी 2019 को एक महत्वपूर्ण अपडेट किया गया, जिसमें 'mypermissions' एंडपॉइंट को एक 'permission' पैरामीटर शामिल करने की आवश्यकता थी। यह आवश्यकता सुरक्षा को बढ़ाने के लिए है, जो पूछे गए अधिकारों को निर्दिष्ट करती है: यहाँ जांचें

  • 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

जैसा कि इस ब्लॉग में संकेत दिया गया है, प्लगइन मॉड्यूल्स ↗ के बारे में दस्तावेज़ में विभिन्न प्रकार के प्लगइनों की जांच करना संभव है, जैसे:

  • REST Plugin Module ↗: RESTful API एंडपॉइंट्स को उजागर करें

  • Servlet Plugin Module ↗: एक प्लगइन के हिस्से के रूप में जावा सर्वलेट्स को तैनात करें

  • Macro Plugin Module ↗: Confluence मैक्रोज़ को लागू करें, यानी पैरामीटरयुक्त 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 प्रॉक्सींग: यदि कॉन्फ्लुएंस एक निजी नेटवर्क के अंदर है, तो यह संभव होगा कि कुछ उपयोगकर्ता के ब्राउज़र के माध्यम से कनेक्शन स्थापित किया जाए जो इसके लिए पहुंच रखता है और उदाहरण के लिए सर्वर कमांड निष्पादन के माध्यम से संपर्क करे।

यदि आप हैकिंग करियर में रुचि रखते हैं और अचूक को हैक करना चाहते हैं - हम भर्ती कर रहे हैं! (फ्लूएंट पोलिश लिखित और मौखिक आवश्यक है)।

HackTricks का समर्थन करें

Last updated