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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
TInjA — TInjA هي أداة سطر أوامر (CLI) لاختبار صفحات الويب بحثًا عن ثغرات حقن القوالب، وتدعم 44 من محركات القوالب الأكثر صلة لثماني لغات برمجة مختلفة. | Kitploit
أدوات/GitHubGitHub/hackmanit/tinja
ماسحات الثغرات الأمنيةتحليل الشفرة الديناميكي (DAST)استغلال تطبيقات الويبأمن الويبالاختبار العشوائياختبار الاختراق
GitHubhackmanit/tinja

TInjA

TInjA هي أداة سطر أوامر (CLI) لاختبار صفحات الويب بحثًا عن ثغرات حقن القوالب، وتدعم 44 من محركات القوالب الأكثر صلة لثماني لغات برمجة مختلفة.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

Release Go Report Card GitHub go.mod Go version License

TInjA – محلل حقن القوالب

TInjA هي أداة سطر أوامر لاختبار صفحات الويب للكشف عن ثغرات حقن القوالب.

تدعم 44 من أشهر محركات القوالب (حتى سبتمبر 2023) لثماني لغات برمجة مختلفة.

تم تطوير TInjA بواسطة Hackmanit وMaximilian Hildebrand.

  • الميزات
  • محركات القوالب المدعومة
  • التثبيت
    • الخيار 1: ملف ثنائي مُعد مسبقاً
    • الخيار 2: التثبيت باستخدام Go
  • الاستخدام
    • تحديد الرؤوس، ملفات تعريف الارتباط، ونص POST
    • فحص CSTI بالإضافة إلى SSTI
    • إنشاء تقرير بصيغة JSONL
    • استخدام وكيل (Proxy)
    • تعيين حد للمعدل (Ratelimit)
  • استكشاف الأخطاء وإصلاحها
  • المهام المتبقية
  • معلومات أساسية
  • الترخيص

الميزات

  • اكتشاف تلقائي لإمكانيات حقن القوالب وتحديد محرك القالب المستخدم.
    • دعم 44 من أشهر محركات القوالب (انظر محركات القوالب المدعومة).
    • يتم اكتشاف كل من ثغرات SSTI و CSTI.
      • SSTI = حقن القوالب من جانب الخادم (server-side template injection)
      • CSTI = حقن القوالب من جانب العميل (client-side template injection)
  • فحص فعال بفضل استخدام متعددات اللغات (polyglots):
    • في المتوسط، يتم إرسال خمس متعددات لغات فقط إلى صفحة الويب حتى يتم اكتشاف إمكانية حقن القالب وتحديد محرك القالب.
  • تمرير عناوين URL التي تم الزحف إليها إلى TInjA بصيغة JSONL.
  • تمرير طلب HTTP خام إلى TInjA.
  • تعيين رؤوس مخصصة، ملفات تعريف ارتباط، معاملات POST، ومعاملات استعلام.
  • توجيه الحركة عبر وكيل (على سبيل المثال، Burp Suite).
  • تكوين تحديد المعدل (Ratelimiting).

محركات القوالب المدعومة

.NET

  • DotLiquid
  • Fluid
  • Razor Engine
  • Scriban

Elixir

  • EEx

Go

  • html/template
  • text/template

Java

  • Freemarker
  • Groovy
  • Thymeleaf
  • Velocity

JavaScript

  • Angular.js
  • Dot
  • EJS
  • Eta
  • Handlebars
  • Hogan.js
  • Mustache
  • Nunjucks
  • Pug
  • Twig.js
  • Underscore
  • Velocity.js
  • Vue.js

PHP

  • Blade
  • Latte
  • Mustache.php
  • Smarty
  • Twig

Python

  • Chameleon
  • Cheetah3
  • Django
  • Jinja2
  • Mako
  • Pystache
  • SimpleTemplate Engine
  • Tornado

Ruby

  • ERB
  • Erubi
  • Erubis
  • Haml
  • Liquid
  • Mustache
  • Slim

التثبيت

الخيار 1: ملف ثنائي مُعد مسبقاً

يتم توفير ملفات ثنائية مُعدة مسبقاً لـ TInjA في صفحة الإصدارات.

الخيار 2: التثبيت باستخدام Go

المتطلبات: go1.21 أو أعلى

go install -v github.com/Hackmanit/TInjA@latest

الاستخدام

  • فحص عنوان URL واحد: tinja url -u "http://example.com/"
  • فحص عناوين URL متعددة: tinja url -u "http://example.com/" -u "http://example.com/path2"
  • فحص عناوين URL موجودة في ملف: tinja url -u "file:/path/to/file"
  • فحص عنوان URL واحد عن طريق تمرير ملف يحتوي على طلب HTTP خام: tinja raw -R "/path/to/file"
  • فحص عناوين URL مع معلومات إضافية مقدمة في ملف JSONL: tinja jsonl -j "/path/to/file"
    • يجب أن يحتوي كل سطر من ملف JSONL على كائن JSON واحد. يجب أن يكون كائن JSON بالكامل في سطر واحد. يجب أن يحتوي كل كائن على الهيكل التالي (الفواصل الإضافية والمسافة البادئة لأغراض العرض فقط):
{
"request":{
    "method":"POST",
    "endpoint":"http://example.com/path",
    "body":"name=Kirlia",
    "headers":{
        "Content-Type":"application/x-www-form-urlencoded"
    }
}

تحديد الرؤوس، ملفات تعريف الارتباط، ونص POST

  • --header/-H يحدد الرؤوس التي سيتم إضافتها إلى الطلب.
    • مثال: tinja url -u "http://example.com/" -H "Authentication: Bearer ey..."
  • --cookie/-c يحدد ملفات تعريف الارتباط التي سيتم إضافتها إلى الطلب.
    • مثال: tinja url -u "http://example.com/" -c "PHPSESSID=ABC123..."
  • --data/-d يحدد نص POST الذي سيتم إضافته إلى الطلب.
    • مثال: tinja url -u "http://example.com/" -d "username=Kirlia&password=notguessable"

فحص CSTI بالإضافة إلى SSTI

  • --csti يفعل فحص CSTI.
    • مثال: tinja url -u "http://example.com/" --csti

بشكل افتراضي، يفحص TInjA SSTI فقط. يتم استخدام متصفح بدون واجهة رسومية (headless browser) لفحص CSTI، مما قد يزيد من استخدام ذاكرة الوصول العشوائي ووحدة المعالجة المركزية.

إنشاء تقرير بصيغة JSONL

  • --reportpath يفعل إنشاء تقرير بصيغة JSONL. سيتم تحديث التقرير بعد كل عنوان URL يتم فحصه وسيتم تخزينه في المسار المقدم.
    • مثال: tinja url -u "http://example.com/" --reportpath "/home/user/Documents"

استخدام وكيل (Proxy)

  • --proxyurl يحدد عنوان URL والمنفذ للوكيل الذي سيتم استخدامه للفحص.
    • مثال: tinja url -u "http://example.com/" --proxyurl "http://127.0.0.1:8080"
  • --proxycertpath يحدد شهادة CA للوكيل بصيغة PEM (مطلوبة عند فحص عناوين URL HTTPS).
    • مثال tinja url -u "http://example.com/" --proxyurl "http://127.0.0.1:8080" --proxycertpath "/home/user/Documents/cacert.pem"

لفحص عناوين URL HTTPS باستخدام وكيل، يلزم وجود شهادة CA للوكيل بصيغة PEM. يتم توفير شهادات Burp Suite CA بصيغة DER، على سبيل المثال. لتحويلها، يمكن استخدام الأمر التالي:

openssl x509 -inform DER -outform PEM -text -in cacert.der -out cacert.pem

تعيين حد للمعدل (Ratelimit)

  • --ratelimit/-r يحدد عدد الطلبات القصوى المسموح بها في الثانية. بشكل افتراضي، هذا الرقم غير مقيد.
    • مثال: tinja url -u "http://example.com/" --ratelimit 10

استكشاف الأخطاء وإصلاحها

  • [ERR] Couldn't connect to URL: remote error: tls: user canceled
    • عند استخدام وكيل والاتصال عبر HTTPS، يجب تحديد شهادة CA للوكيل (.pem) باستخدام --proxycertpath (انظر استخدام وكيل (Proxy)).
  • [ERR] Error reading response from target server via proxy: malformed HTTP response "HTTP/1.1"
    • قم بتعطيل Default to HTTP/2 if the server supports it في إعدادات Burp Suite (Network > HTTP).

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

  • علامة TINJA لتحديد مكان وضع متعددات اللغات.
  • دعم للنصوص متعددة الأجزاء (multipart bodies) و JSON.
  • اختياري: حمولات SSTI العمياء (على سبيل المثال، حمولات السكون (sleep)).
  • تغذية راجعة حول ما إذا تم اكتشاف CSTI أو SSTI.
  • فحص وحدة التحكم في المتصفح بدون واجهة رسومية بحثاً عن رسائل خطأ محرك القالب (انظر https://github.com/go-rod/rod/issues/330).
  • تحسين اكتشاف الأخطاء عندما لا ينعكس الإدخال.

معلومات أساسية

يمكن العثور على مقالة مدونة توفر مزيداً من المعلومات حول حقن القوالب و TInjA – محلل حقن القوالب هنا:

ثغرات حقن القوالب – فهم، اكتشاف، تحديد

تم تطوير TInjA كجزء من رسالة ماجستير بواسطة Maximilian Hildebrand. يمكنك العثور على نتائج رسالة الماجستير متاحة للجمهور هنا:

  • جدول حقن القوالب
  • ملعب حقن القوالب
  • TInjA – محلل حقن القوالب
  • رسالة الماجستير (PDF)

الترخيص

تم تطوير TInjA – محلل حقن القوالب بواسطة Hackmanit وMaximilian Hildebrand كجزء من رسالة الماجستير الخاصة به. TInjA – محلل حقن القوالب مرخص بموجب رخصة Apache، الإصدار 2.0.

تنزيل الأداة