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 अवशेष

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

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

सभी देखें →

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

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

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

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

Abraxas Labs - joomla-menu-items-api

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

राइट-अप: https://abraxaslabs.tech/research/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 केवल core.manage के साथ-साथ com_menus पर 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। main के लिए UI allowEdit false लौटाता है
कर्मचारियों को नकली लॉगिन पर भेजना या वास्तविक एडमिन आइटम छिपानाएडमिन मेनू पर प्रकाशित URL आइटमअखंडता / रेकॉनराइट से अनुमानित। लैब ने https://example.invalid/ रखा
उन मेनू पर आइटम संपादित या हटाना जिनके वे स्वामी नहीं हैंAPI PATCH / DELETE वही अनुपस्थित allow* का उपयोग करता हैअखंडताअनुमानित। लैब ने create का परीक्षण किया
एक्सटेंशन इंस्टॉल करना या सुपर यूज़र बननाअन्य ACL की आवश्यकता हैलागू नहींबंद। Manager सुपर यूज़र नहीं है

इस पिन पर बंद: उसी उपयोगकर्ता के लिए 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);

The API items controller allowAdd / allowEdit को override नहीं करता है। डिफ़ॉल्ट ApiController केवल component core.manage के साथ core.create / core.edit की जाँच करता है। model का canSave पथ केवल component core.edit की जाँच करता है। Batch copy/move पहले से ही menu asset की जाँच करता है।

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

वही pin अवशेष: levels API, media override, articles catid।

Lab

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। केवल लूपबैक लैब। कोई वारंटी नहीं।

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