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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
mysql-mysqldump-tab-path — MySQL Community Server 26.7.0 - उच्च - mysqldump --tab पथ अवशेष - क्लाइंट फ़ाइल लेखन | Kitploit
उपकरण/GitHubGitHub/abraxas/mysql-mysqldump-tab-path
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणजानकारी एकत्र करनापेनिट्रेशन टेस्टिंगडेटाबेस सुरक्षालैब और अभ्यास
GitHubabraxas/mysql-mysqldump-tab-path

mysql-mysqldump-tab-path

MySQL Community Server 26.7.0 - उच्च - mysqldump --tab पथ अवशेष - क्लाइंट फ़ाइल लेखन

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

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

सभी देखें →

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

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

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

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

Abraxas Labs - mysql-mysqldump-tab-path

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  mysql-mysqldump-tab-path

mysql-mysqldump-tab-path

वर्ग: फ़ाइल राइट (क्लाइंट) पहुँच: रिमोट (UI:R)

MySQL Community Server mysqldump 26.7.0 (06a5c1c) - Oracle

mysqldump --tab=DIR प्रत्येक टेबल के लिए एक .sql लिखता है, fn_format का उपयोग करते हुए MY_REPLACE_DIR के बिना। / या .. वाला एक शत्रुतापूर्ण SHOW TABLES नाम उस डायरेक्टरी को बनाए रखता है। DIR को अनदेखा किया जाता है। डंप UID उस पथ को my_fopen करता है।

--tab को समान-मशीन मोड के रूप में प्रलेखित किया गया है क्योंकि .txt सर्वर INTO OUTFILE के माध्यम से जाता है। .sql अभी भी एक क्लाइंट राइट है।

IDअभी तक कोई CVE नहीं
वर्गफ़ाइल राइट (क्लाइंट --tab .sql)
पहुँचरिमोट (पीड़ित हमलावर MySQL के विरुद्ध mysqldump --tab चलाता है; UI:R)
CWECWE-22
CVSSHigh: 8.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N
उत्पादMySQL Community Server mysqldump
प्रभावित26.7.0 (06a5c1c99c377fc41b2eba1ea244e8b220bdc3c8)
प्रमाणीकरणपीड़ित हमलावर MySQL के विरुद्ध mysqldump --tab=DIR चलाता है
लाइसेंसGNU Affero GPL v3.0
लैबकेवल 127.0.0.1। DIR के बाहर .sql का साक्षी।

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

एक MySQL-प्रोटोकॉल सर्वर खड़ा करें। SHOW TABLES का उत्तर /abs/path या ../outside से दें। जिस ऑपरेटर ने mysqldump --tab=/backup testdb चलाया, वह डंप UID के रूप में /abs/path.sql (या cwd के सापेक्ष एक पथ) लिखता है।

उस UID द्वारा बनाई जा सकने वाली किसी भी फ़ाइल को अधिलेखित करें। यह उस बैकअप क्लाइंट के समान वर्ग है जो रिमोट फ़ाइलनाम पर भरोसा करता है। .txt INTO OUTFILE पथ सर्वर-साइड FILE है। शेष बचा हुआ क्लाइंट .sql है।

एक वास्तविक mysqld / वाला टेबल नाम नहीं देगा। शेष बचा हुआ क्लाइंट है।

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

mysqldump SHOW TABLES overflow की तरह ही 26.7.0 की खोज। डिफ़ॉल्ट डेमन खाली था। क्लाइंट टूल्स अभी भी SHOW TABLES पर भरोसा करते थे। ओवरफ़्लो एक शेष बचा हुआ था। --tab अगला था।

static FILE *open_sql_file_for_table(const char *table, int flags) {
  FILE *res;
  char filename[FN_REFLEN], tmp_path[FN_REFLEN];
  convert_dirname(tmp_path, path, NullS);
  res = my_fopen(fn_format(filename, table, tmp_path, ".sql",
                           MYF(MY_UNPACK_FILENAME | MY_APPEND_EXT)),
                 flags, MYF(MY_WME));
  return res;
}

mysys/mf_format.cc: यदि dirname_part(name) गैर-रिक्त है और MY_REPLACE_DIR बंद है, तो दी गई dir का उपयोग नहीं किया जाता।

पहले से दर्ज गलत रास्ते: एक वास्तविक mysqld को ओरेकल मानना; SHOW CREATE TABLE से पहले SHOW TABLE STATUS पर मर जाना (.sql केवल CREATE सफल होने के बाद खुलता है); INTO OUTFILE .txt को शेष बचा हुआ कहना; एक 64KiB नाम जो G1 ओवरफ़्लो को फिर से हिट करता है।

MariaDB CVE-2025-13699 (mariadb-dump व्यू-नाम ट्रैवर्सल) नहीं। समान वर्ग, MySQL Community प्रति।

लैब

cd lab
./run.sh

इमेज mysql:26.7.0। --tab=/work/tabdir। कंट्रोल स्टब टेबल t work/tabdir/t.sql लिखता है। ट्रैवर्सल स्टब टेबल /work/oracle/MYSQL-DUMP-TAB-TRAVERSAL-WITNESS work/oracle/MYSQL-DUMP-TAB-TRAVERSAL-WITNESS.sql लिखता है। प्रकाशित 127.0.0.1:18610 / 18611। इसे लूपबैक पर बाइंड करें।

control-sql=yes
traversal-outside=yes
SUCCESS mysql-mysqldump-tab-path ... MYSQL-DUMP-TAB-TRAVERSAL-WITNESS

समाधान

--tab क्लाइंट फ़ाइलों के लिए fn_format में MY_REPLACE_DIR पास करें, या पहले टेबल नाम का basename लें। --tab=DIR का अर्थ DIR होना चाहिए।

संदर्भ

  • github.com/mysql/mysql-server टैग mysql-26.7.0 (06a5c1c99c377fc41b2eba1ea244e8b220bdc3c8)
  • client/mysqldump.cc open_sql_file_for_table
  • mysys/mf_format.cc
  • सहोदर ओवरफ़्लो पैक: abraxas/mysql-mysqldump-show-tables-overflow
टूल डाउनलोड करें