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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
joomla-menu-items-api — Joomla 6.1.3 - उच्च - रिमोट - ACL - मेनू आइटम API अवशेष | Kitploit
उपकरण/GitHubGitHub/abraxas/joomla-menu-items-api
प्रमाणीकरण और प्राधिकरणभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणवेब सुरक्षापेनिट्रेशन टेस्टिंगAPI सुरक्षालैब और अभ्यास
GitHubabraxas/joomla-menu-items-api

joomla-menu-items-api

Joomla 6.1.3 - उच्च - रिमोट - ACL - मेनू आइटम API अवशेष

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

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

सभी देखें →

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

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

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

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

Abraxas Labs - joomla-menu-items-api

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  joomla-menu-items-api

joomla-menu-items-api

वर्ग: विशेषाधिकार अवशेष पहुँच: रिमोट

Joomla CMS 6.1.3 (0f2d4de) - Open Source Matters

मेनू आइटम के लिए प्रशासक UI com_menus.menu.{id} की जाँच करता है और menutype == main को अस्वीकार करता है। api/components/com_menus/src/Controller/ItemsController.php में कोई allowAdd / allowEdit नहीं है, इसलिए ApiController केवल com_menus पर core.manage के साथ core.create / core.edit माँगता है।

एक टोकन उपयोगकर्ता जो एक मेनू का प्रबंधन कर सकता है, वह /api/index.php/v1/menus/administrator/items पर POST कर सकता है, उस मेनू पर जिसमें UI में उन्हें अनुमति नहीं है, जिसमें संरक्षित प्रशासक main मेनू भी शामिल है।

IDअभी तक कोई CVE नहीं
वर्गविशेषाधिकार अवशेष / प्राधिकरण बायपास
पहुँचरिमोट (core.login.api के साथ API टोकन)
CWECWE-863
CVSSउच्च: 8.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
उत्पादJoomla CMS
प्रभावित6.1.3 (0f2d4de4729eb951e0878fec98c7990da07915b2)
प्रमाणीकरणcore.login.api + core.manage + com_menus पर core.create/core.edit वाला रिमोट API उपयोगकर्ता, सुपर यूज़र नहीं। डिफ़ॉल्ट core.login.api केवल सुपर यूज़र के लिए है।
लाइसेंसGNU Affero GPL v3.0
लैबकेवल 127.0.0.1

हमलावर क्या कर सकता है

टोकन उपयोगकर्ता जो केवल मेनू A पर आइटम बना सकता है। वे अभी भी एक्सटेंशन इंस्टॉल नहीं कर सकते जब तक कि उनके पास पहले से वह अनुमति न हो। इस अवशेष से वे सुपर यूज़र नहीं बनते।

विशेषाधिकारविधि / पथप्रकारलैब-प्रमाणित या अनुमानित
उस मेनू पर आइटम बनाएँ जिसमें उन्हें अनुमति नहीं हैB के menutype के साथ POST /api/index.php/v1/menus/administrator/itemsअखंडतालैब-प्रमाणित। HTTP 200, staffmenu पर आइटम 102, शीर्षक poc-JOOMLA-MENU-ITEMS-API-WITNESS
संरक्षित प्रशासक main मेनू पर URL लगाएँmenutype=main के साथ वही POSTअखंडतालैब-प्रमाणित HTTP 200। UI allowEdit main के लिए false लौटाता है
कर्मचारियों को नकली लॉगिन पर भेजें या वास्तविक एडमिन आइटम छिपाएँएडमिन मेनू पर प्रकाशित URL आइटमअखंडता / रेकॉनराइट से अनुमानित। लैब ने https://example.invalid/ लगाया
उन मेनू पर आइटम संपादित या हटाएँ जो उनके नहीं हैंAPI PATCH / DELETE वही अनुपस्थित allow* उपयोग करता हैअखंडताअनुमानित। लैब ने क्रिएट का परीक्षण किया
एक्सटेंशन इंस्टॉल करें या सुपर यूज़र बनेंअन्य ACL चाहिएलागू नहींबंद। प्रबंधक सुपर यूज़र नहीं है

इस पिन पर बंद: उसी उपयोगकर्ता के लिए staffmenu पर UI add/save (not permitted)। labmenu पर UI add अभी भी काम करता है। 6.1.1 से Groups API core.admin गेट अछूता है।

मैंने इसे कैसे खोजा

2026 JSST लहर के बाद मैंने 6.1.3 पिन किया। प्रशासक ItemController पहले से ही सही काम करता है:

return $user->authorise('core.create', 'com_menus.menu.' . $menutypeID);
if ($item->menutype == 'main') {
    return false;
}
return $user->authorise('core.edit', 'com_menus.menu.' . (int) $menutypeID);

API आइटम कंट्रोलर allowAdd / allowEdit को ओवरराइड नहीं करता। डिफ़ॉल्ट ApiController केवल कंपोनेंट core.manage के साथ core.create / core.edit की जाँच करता है। मॉडल canSave पथ केवल कंपोनेंट core.edit की जाँच करता है। बैच कॉपी/मूव पहले से ही मेनू एसेट की जाँच करते हैं।

पहले से दर्ज गलत रास्ते: UI HTTP 200 को अनुमति के रूप में पढ़ना (बॉडी "not permitted" है); UI में com_menus पर core.manage को पर्याप्त मानना (UI अभी भी com_menus.menu.{id} पर आधारित है); core.login.api के बिना स्टॉक Manager। नाटक: रिवर्स शेल। ओरेकल staffmenu और main पर API 200 के साथ B पर UI इनकार है।

उसी पिन के अवशेष: levels API, media override, articles catid।

लैब

python3 joomla-menu-items-api-Abraxas-Labs.py

या

cd lab
./run.sh

लक्ष्य केवल http://127.0.0.1:19530। इमेज joomla:6.1.3-php8.3-apache।

SUCCESS joomla-menu-items-api api-b-http=200 item-id=102 menutype=staffmenu api-main-http=200 ui-add-b=200 ui-save-b=200 JOOMLA-MENU-ITEMS-API-WITNESS

ui-add-b / ui-save-b HTTP 200 हैं; B का इनकार UI "not permitted" बॉडी है, 403 स्टेटस नहीं।

समाधान

ItemController::allowAdd / allowEdit (और delete) को API कंट्रोलर पर कॉपी करें, जिसमें main ब्लॉक भी शामिल है। canSave में मेनू-प्रकार एसेट की उसी तरह जाँच करें।

संदर्भ

  • github.com/joomla/joomla-cms टैग 6.1.3 (0f2d4de4729eb951e0878fec98c7990da07915b2)
  • ItemsController.php
  • ItemController.php
  • वही टैग: joomla-levels-api · joomla-media-override · joomla-articles-catid
  • CWE-863

लाइसेंस

GNU Affero GPL v3.0। देखें LICENSE। केवल लूपबैक लैब। कोई वारंटी नहीं।

टूल डाउनलोड करें