Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
sqlite-cli-recover — SQLite 3.53.4 CLI - عالي - محلي - حقن الأوامر - استعادة البيانات تُصدر مخططًا ضارًا كـ أمر نقطة | Kitploit
أدوات/GitHubGitHub/abraxas/sqlite-cli-recover
تحليل الثغرات الأمنيةالاستغلالاختبار الاختراقالقيادة والسيطرةالأوراق والأبحاثأمن قواعد البياناتمختبرات وتدريب عملي
GitHubabraxas/sqlite-cli-recover

sqlite-cli-recover

SQLite 3.53.4 CLI - عالي - محلي - حقن الأوامر - استعادة البيانات تُصدر مخططًا ضارًا كـ أمر نقطة

عرض المستودع
30منذ 8 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

Abraxas Labs - sqlite-cli-recover

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  sqlite-cli-recover

المقال التقني: https://abraxaslabs.tech/research/sqlite-cli-recover

sqlite-cli-recover

الفئة: حقن أوامر النطاق: محلي

أمر .recover في واجهة سطر أوامر SQLite 3.53.4 (b09c88c) يطبع sqlite_schema.sql الخبيث كأمر نقطي لاحق. الدالة recoverOneStmt تُحضّر العبارة الأولى فقط. ومع ذلك يُكتب CREATE TABLE المزروع متبوعًا بسطر جديد و.shell. أنبوب الاستعادة الموثّق يشغّله بمعرّف المستخدم الخاص بالمشغّل (operator UID).

أمر .dump والدالة printSchemaLine ينتميان إلى نفس فئة الإخراج. ليس libsqlite3. وليس --safe. المرجع (Oracle) هو echo لسلسلة شاهد.

المعرّفلا يوجد CVE بعد
الفئةحقن أوامر (إخراج المخطط عبر .recover / .dump في واجهة سطر الأوامر)
النطاقمحلي (الضحية تشغّل أنبوب الاستعادة الموثّق؛ UI:R)
CWECWE-78
CVSSمرتفع: 7.8 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
المنتجSQLite (واجهة sqlite3 CLI)
المتأثر3.53.4 (b09c88c14082339b66c7b7158d609a771e64ca69) SOURCE_ID 2026-07-24 19:02:57 bf7c7f30031888f4e796e429ab3978879485813aaca6f641c7b33e4e09459bcc
المصادقةالضحية تشغّل sqlite3 hostile.db .recover | sqlite3 restored.db
الترخيصGNU Affero GPL v3.0
المختبر127.0.0.1:18930 فقط. الشاهد SQLITE-CLI-RECOVER-WITNESS.

ما يمكن للمهاجم فعله

زرع عبارة CREATE أولى صالحة متبوعة بـ .shell لاحق في sqlite_schema.sql. الضحية التي تستعيد قاعدة البيانات تلك إلى sqlite3 ثانٍ تشغّل الأمر النقطي بمعرّف المستخدم الخاص بها.

الزرع هو ملف .db. وفعل الضحية هو أنبوب الاستعادة الموثّق، وليس سطر go ملصقًا ولا إيقاف --safe عن طريق الخطأ. .shell هي system(). ومرجع المختبر هو echo لشاهد. وليس صدفة عكسية (reverse shell).

كيف وجدته

عشرون عملية بحث في المصدر للإصدار 3.53.4. بحث الاستعادة الخاص بها وصف recoverOneStmt بأنها تحضير للعبارة الأولى فقط ثم انصرف. المتبقي هو مسار الطباعة: لا تزال recoverSqlCb تُخرج النص الإضافي. وأنبوب ذلك السكربت هو ما يخبرك sqlite.org به للاستعادة.

مسارات خاطئة مسجّلة مسبقًا: اعتبار تحضير العبارة الأولى عملية إزالة؛ تثبيت 3.54.0 (مسودة)؛ إعادة تقديم CVE-2022-46908 الخاص بـ --safe؛ وصف هذا بأنه RCE في libsqlite3؛ استخدام صدفة عكسية كمرجع.

المختبر

cd lab
./run.sh

يبني sqlite-src-3530400 إلى sqlite3 مع استرداد Unix CLI الافتراضي (OPT_SHELL / SQLITE_ENABLE_DBPAGE_VTAB). writable_schema بعد .dbconfig defensive off. تم زرع CREATE TABLE t(x); بالإضافة إلى سطر جديد .shell echo SQLITE-CLI-RECOVER-WITNESS. طبع .recover الأمر .shell. عند تمريره عبر أنبوب إلى sqlite3 ثانٍ، فقد نُفّذ. ربط loopback.

SUCCESS sqlite-cli-recover how=recover-pipe-dot-shell recover-has-shell=yes restore-echo=yes SQLITE-CLI-RECOVER-WITNESS

الإصلاح

لا تطبع SQL للمخطط ليس عبارة واحدة. قسّم عند أول prepare، وأصدر تلك العبارة فقط، أو ارفض الصف. اقتبس CREATE العادية بالطريقة التي يستخدمها تفريغ الجدول الافتراضي بالفعل %q. تعامل مع سطر . اللاحق كعدائي وأسقطه. --safe على sqlite3 للاستعادة يحظر .shell؛ وهو غير مفعّل في الأنبوب الموثّق.

المراجع

  • sqlite.org/src وسم version-3.53.4 (b09c88c14082339b66c7b7158d609a771e64ca69)
  • Recovering Data From A Corrupt SQLite Database - .recover الموثّق ثم الاستعادة
  • ext/recover/sqlite3recover.c recoverOneStmt / recoverWriteSchema1
  • src/shell.c.in recoverSqlCb، .dump printSchemaLine
تنزيل الأداة