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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
QLinspector — اكتشاف سلاسل الـ gadget في Java/C# باستخدام CodeQL | Kitploit
أدوات/GitHubGitHub/synacktiv/qlinspector
التحليل الثابتتحليل الثغرات الأمنيةتحليل الكودالاستغلالتطوير الحمولات
GitHubsynacktiv/qlinspector

QLinspector

اكتشاف سلاسل الـ gadget في Java/C# باستخدام CodeQL

عرض المستودع
18822منذ 2 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

QLinspector

العثور على سلاسل gadget بلغة Java/C# باستخدام CodeQL. مزيد من المعلومات في مقالنا

التثبيت

استنساخ المستودع

root@kitploit:~
$ git clone https://github.com/synacktiv/QLinspector.git

البحث عن الأدوات (gadgets):

root@kitploit:~
$ codeql database analyze log4j --format=sarif-latest --output=log4j.sarif --search-path=./QLinspector/ synacktiv/qlinspector-java-queries

الاستعلامات

QLinspector.ql

استعلام CodeQL الرئيسي الذي يمكن استخدامه للعثور على سلاسل gadget.

فيما يلي مثال على سلسلة gadget الخاصة بـ Aspectj:

aspectj

قد يُرجع تشغيل الاستعلام أعلاه أحيانًا الكثير من النتائج الإيجابية الخاطئة. لتصفيتها، تمت إضافة الفئة GadgetSanitizer. يمكنك إضافة شروط لتصفية DataFlow::Node:

root@kitploit:~
/**
 * placeholder for adding sanitizing steps
*/
class GadgetSanitizer extends DataFlow::Node {
  GadgetSanitizer() {
    this.getEnclosingCallable().hasName("")
  }
}

QLinspectorOld.ql

استعلام قديم تم تطويره في البداية. لا يستخدم هذا الاستعلام نموذج التلوث (taint model) الخاص بـ CodeQL، وبالتالي قد يُرجع نتائج مختلفة.

BeanFactoryGadgetFinder.ql

استعلام يمكن استخدامه للعثور على سلاسل gadget جديدة استنادًا إلى org.apache.naming.factory.BeanFactory. تسمح الفئة BeanFactory بإنشاء مثيل لأي فئة باستخدام المُنشئ الافتراضي واستدعاء أي طريقة عامة بمعامل واحد من النوع String.

مزيد من المعلومات في هذه التدوينة: https://www.veracode.com/blog/research/exploiting-jndi-injections-java

CommonsBeanutilsGadgetFinder.ql

استعلام يمكن استخدامه للعثور على بدائل للطريقة getOutputProperties المستخدمة في سلسلة CommonsBeanutils.

مزيد من المعلومات هنا:

  • https://www.praetorian.com/blog/relution-remote-code-execution-java-deserialization-vulnerability/
  • https://mogwailabs.de/en/blog/2023/04/look-mama-no-templatesimpl/

ObjectFactoryFinder.ql

استعلام يمكن استخدامه للعثور على بدائل لـ org.apache.naming.factory.BeanFactory. قد يكون هذا مفيدًا أثناء استغلال JNDI.

مزيد من المعلومات في هذه التدوينة: https://www.veracode.com/blog/research/exploiting-jndi-injections-java

الموارد

  • https://www.synacktiv.com/publications/finding-gadgets-like-its-2015-part-1.html
  • https://www.synacktiv.com/publications/finding-gadgets-like-its-2015-part-2.html
  • https://www.synacktiv.com/publications/finding-gadgets-like-its-2022.html
  • https://www.synacktiv.com/publications/java-deserialization-tricks
  • https://www.praetorian.com/blog/relution-remote-code-execution-java-deserialization-vulnerability/
  • https://www.veracode.com/blog/research/exploiting-jndi-injections-java
  • https://mogwailabs.de/en/blog/2023/04/look-mama-no-templatesimpl/
  • https://testbnull.medium.com/return-of-the-rhino-analysis-of-mozillarhino-gadgetchain-also-the-writeup-of-hitb-linkextractor-a2074b4ae624
  • https://www.buaq.net/go-53869.html
  • https://b1ue.cn/archives/529.html
تنزيل الأداة