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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
phpmyadmin-importldi — phpMyAdmin 5.2.3 - उच्च - रिमोट - SQLi - ImportLdi TERMINATED BY शेष | Kitploit
उपकरण/GitHubGitHub/abraxas/phpmyadmin-importldi
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणवेब सुरक्षापेनिट्रेशन टेस्टिंगलैब और अभ्यास
GitHubabraxas/phpmyadmin-importldi

phpmyadmin-importldi

phpMyAdmin 5.2.3 - उच्च - रिमोट - SQLi - ImportLdi TERMINATED BY शेष

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

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

सभी देखें →

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

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

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

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

Abraxas Labs - phpmyadmin-importldi

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  phpmyadmin-importldi

phpmyadmin-importldi

Class: SQLi Reach: Remote

phpMyAdmin 5.2.3 (RELEASE_5_2_3 / 962857e) - phpMyAdmin

ImportLdi.php POST के ldi_terminated और ldi_new_line से FIELDS/LINES TERMINATED BY के साथ LOAD DATA बनाता है। इन दोनों स्ट्रिंग्स को सिंगल-कोटेड SQL में जोड़ा जाता है। ldi_enclosed और ldi_escaped escapeString से गुज़रते हैं। phpMyAdmin /import पर PMA_ENABLE_LDI सेट करता है ताकि MYSQLI_OPT_LOCAL_INFILE चालू रहे।

एक साइन-इन किया हुआ उपयोगकर्ता ldi_terminated में एक कोट के साथ format=ldi POST करता है। जारी किया गया LOAD DATA TERMINATED BY के अंदर रॉ POST को शामिल करता है। उपयोगकर्ता कनेक्शन में SQL इंजेक्शन, कंट्रोल उपयोगकर्ता में नहीं।

IDअभी तक कोई CVE नहीं
ClassSQLi
ReachRemote (प्रमाणित कुकी लॉगिन; टेबल इम्पोर्ट, फॉर्मेट ldi)
CWECWE-89
CVSSMedium: 6.5 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
ProductphpMyAdmin
Affected5.2.3 टैग RELEASE_5_2_3 (962857e4f63d42e38f11ff4d63f5e722018add76)
Authप्रमाणित कुकी लॉगिन। टेबल इम्पोर्ट, फॉर्मेट ldi
LicenseGNU Affero GPL v3.0
Labकेवल 127.0.0.1

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

एक साइन-इन किया हुआ phpMyAdmin उपयोगकर्ता जो Table import खोल सकता है, अपने MySQL कनेक्शन पर LOAD DATA ... TERMINATED BY में SQL इंजेक्ट कर सकता है।

PrivilegeMethod / sinkRecon / integrity / availabilityLab-proven or inferred
FIELDS TERMINATED BY लिटरल को तोड़ेंPOST index.php?route=/import format=ldi ldi_terminated एक कोट के साथPMA जो स्टेटमेंट बनाता है उसकी इंटीग्रिटीLab-proven। HTML SQL बॉक्स: TERMINATED BY '',PMA-IMPORTLDI-WITNESS'
ENCLOSED BY को इन-बैंड रखेंवही POST, ldi_enclosed में कोटनेगेटिव कंट्रोलLab-proven। ENCLOSED BY एस्केप्ड है
उपयोगकर्ता कनेक्शन पर अतिरिक्त SQL (INTO OUTFILE / स्टैक्ड यदि अनुमति हो)स्ट्रिंग बंद होने पर वही sinkउपयोगकर्ता कनेक्शन की इंटीग्रिटीInferred। Lab टूटे हुए डेलिमिटर पर रुक जाता है। डिफ़ॉल्ट mysqli::query सिंगल-स्टेटमेंट है
MySQL-साइड फ़ाइल पढ़ना/लिखनावही LOAD DATA यदि अकाउंट के पास FILE है या वेब सर्वर तक LOCAL INFILE हैmysqld जिन फ़ाइलों को छू सकता है उनकी इंटीग्रिटीInferred। यहाँ अनुमति नहीं दी गई। दावा नहीं किया गया

इस lab पर बंद: अनऑथेंटिकेटेड एक्सेस, control-user / pmadb, OS include LFI, और FILE-गेटेड read/write। साइन-इन किए हुए उपयोगकर्ता के पास पहले से ही एक SQL बॉक्स है; यह बचा हुआ हिस्सा उस स्टेटमेंट के अंदर अनएस्केप्ड डेलिमिटर है जो PMA उनके लिए बनाता है।

Same pin: WebAuthn CustomServer leftover.

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

मैंने phpMyAdmin RELEASE_5_2_3 को पिन किया। जो इम्पोर्ट प्लगइन हाथ से LOAD DATA बनाते हैं, वे एक कोटिंग ऑडिट हैं। चार डेलिमिटर फ़ील्ड्स में से दो एस्केप्ड थे। दो नहीं थे:

$sql .= ' FIELDS TERMINATED BY \'' . $ldi_terminated . '\'';
...
$sql .= ' LINES TERMINATED BY \'' . $ldi_new_line . '\'';

ldi_enclosed / ldi_escaped $dbi->escapeString को कॉल करते हैं। Common.php /import + format=ldi पर PMA_ENABLE_LDI सेट करता है। रूट्स GET|POST /import और GET|POST /table/import।

पहले से दर्ज गलत रास्ते: FILE ग्रांट के बिना LFI का दावा करना; SQL बॉक्स को ही फाइंडिंग मानना (बचा हुआ हिस्सा वह अनएस्केप्ड डेलिमिटर है जिसे PMA जोड़ता है); control-user / pmadb का दावा; एक रिवर्स शेल। नाटक।

Lab

python3 phpmyadmin-importldi-Abraxas-Labs.py
# or: cd lab && ./run.sh

लक्ष्य केवल http://127.0.0.1:19290। इमेज phpmyadmin:5.2.3 और mysql:8.0। Compose प्रोजेक्ट phpmyadmin-importldi। रन के बाद स्टैक टियर डाउन हो जाता है।

कुकी लॉगिन। format=ldi और ldi_terminated में एक कोट के साथ /import पर POST करें। जारी किया गया LOAD DATA LOCAL INFILE ... INTO TABLE \ldi_target` FIELDS TERMINATED BY '',PMA-IMPORTLDI-WITNESS'। ldi_enclosedमें वही कोट एस्केप्डENCLOSED BYके रूप में स्टोर हुआ। 5.2.3 इमेज पर पिन सोर्स में अभी भी'.$ldi_terminated.'और$dbi->escapeString($ldi_enclosed)` है।

SUCCESS phpmyadmin-importldi pin=RELEASE_5_2_3 how=live TERMINATED-BY-raw ENCLOSED-escaped PMA-IMPORTLDI-WITNESS

फिक्स

ldi_terminated और ldi_new_line पर escapeString, वैसे ही जैसे enclosed और escaped पर। skip_queries को Int-cast करें।

संदर्भ

  • github.com/phpmyadmin/phpmyadmin टैग RELEASE_5_2_3 (962857e4f63d42e38f11ff4d63f5e722018add76)
  • libraries/classes/Plugins/Import/ImportLdi.php
  • Same pin: PMA-5.2.3-WebAuthn-2FA
  • CWE-89

लाइसेंस

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

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