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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
gotestwaf — مشروع مفتوح المصدر بلغة Golang لتقييم أدوات أمان واجهات برمجة التطبيقات (API Security) وجدران الحماية (WAF) من حيث منطق الكشف والتجاوزات. | Kitploit
أدوات/GitHubGitHub/wallarm/gotestwaf
ماسحات الثغرات الأمنيةماسحات الثغرات الأمنية للويباختبار أمان APIتجاوز WAFأمن الويباختبار الاختراقأمن واجهات برمجة التطبيقاتالأفضل في أمن واجهات برمجة التطبيقات #11الأفضل في اختبار أمان API #11الأفضل في تجاوز WAF #3
1.8k26035منذ 3 أيامتمت المراجعة من قبل Kitploit
GitHubwallarm/gotestwaf

gotestwaf

مشروع مفتوح المصدر بلغة Golang لتقييم أدوات أمان واجهات برمجة التطبيقات (API Security) وجدران الحماية (WAF) من حيث منطق الكشف والتجاوزات.

عرض المستودعالموقع الإلكتروني

الأكثر شعبية

عرض الكل →

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

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

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

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

GoTestWAF Black Hat Arsenal USA 2022

GoTestWAF هي أداة لمحاكاة هجمات API وOWASP تدعم مجموعة واسعة من بروتوكولات API بما في ذلك REST وGraphQL وgRPC وSOAP وXMLRPC وغيرها.

تم تصميمها لتقييم حلول أمن تطبيقات الويب، مثل وكلاء أمن API، وجدران حماية تطبيقات الويب (WAF)، وأنظمة منع التسلل (IPS)، وبوابات API، وغيرها.


  • كيف تعمل
  • المتطلبات
  • البدء السريع باستخدام Docker
  • التحقق من نتائج التقييم
  • العروض التوضيحية
  • خيارات أخرى لتشغيل GoTestWAF
  • خيارات التكوين
  • التشغيل مع مجموعة اختبارات الانحدار OWASP Core Rule Set

كيف تعمل

تقوم GoTestWAF بتوليد طلبات ضارة باستخدام حمولات مُشفَّرة موضوعة في أجزاء مختلفة من طلبات HTTP: جسم الطلب، والترويسات، ومعاملات URL، وغيرها. تُرسَل الطلبات المُولَّدة إلى عنوان URL لحل الأمن التطبيقي المحدد أثناء تشغيل GoTestWAF. تُسجَّل نتائج تقييم حل الأمن في ملف التقرير الذي يُنشأ على جهازك.

تُعرَّف الشروط الافتراضية لتوليد الطلبات في مجلد testcases ضمن ملفات YAML بالصيغة التالية:```yaml payload:

  • '"union select -7431.1, name, @aaa from u_base--w-'
  • "'or 123.22=123.22"
  • "' waitfor delay '00:00:10'--"
  • "')) or pg_sleep(5)--" encoder:
  • Base64Flat
  • URL
  • JSUnicode placeholder:
  • URLPath
  • URLParam
  • Header type: SQL Injection
* `payload` هو نموذج هجوم ضار (على سبيل المثال حمولة XSS مثل ```<script>alert(111)</script>``` أو شيء أكثر تعقيدًا).
نظرًا لأن تنسيق سلسلة YAML مطلوب للحمولات، يجب [ترميزها كبيانات ثنائية](https://yaml.org/type/binary.html).

* `encoder` هو مُرمِّز يتم تطبيقه على الحمولة قبل وضعها في طلب HTTP. المُرمِّزات الممكنة هي:

    * Base64
    * Base64Flat
    * JSUnicode
    * URL
    * Plain (للاحتفاظ بسلسلة الحمولة كما هي)
    * XML Entity

* `placeholder` هو موضع داخل طلب HTTP حيث يجب أن تكون الحمولة المُرمَّزة. المواضع الممكنة هي:

    * gRPC
    * Header
    * UserAgent
    * RequestBody
    * JSONRequest
    * JSONBody
    * HTMLForm
    * HTMLMultipartForm
    * SOAPBody
    * XMLBody
    * URLParam
    * URLPath
    * RawRequest

    سيتيح لك الموضع `RawRequest` تنفيذ طلب HTTP عشوائي. يتم استبدال الحمولة عن طريق استبدال السلسلة `{{payload}}` في مسار URL أو الرؤوس أو النص. حقول الموضع `RawRequest`:

    * `method`
    * `path`
    * `headers`
    * `body`

    الحقول المطلوبة للموضع `RawRequest`:
    
    * حقل `method`

    مثال:
    
    ```yaml
    payload:
      - test
    encoder:
      - Plain
    placeholder:
      - RawRequest:
          method: "POST"
          path: "/"
          headers:
            Content-Type: "multipart/form-data; boundary=boundary"
          body: |
            --boundary
            Content-disposition: form-data; name="field1"
            
            Test
            --boundary
            Content-disposition: form-data; name="field2"
            Content-Type: text/plain; charset=utf-7
            
            Knock knock.
            {{payload}}
            --boundary--
    type: RawRequest test
    ```

* `type` هو اسم المجموعة الكاملة للحمولات في الملف. يمكن أن يكون عشوائيًا، ولكن يجب أن يعكس نوع الهجمات في الملف.

توليد الطلبات هو عملية من ثلاث خطوات تتضمن ضرب كمية الحمولة بمقدار المُرمِّز والموضع.
لنفترض أنك حددت 2 **حمولات**، و3 **مُرمِّزات** (Base64 وJSUnicode وURL) و1 **موضع** (URLParameter - معامل HTTP GET).
في هذه الحالة، سيرسل GoTestWAF 2x3x1 = 6 طلبات في حالة اختبار واحدة.

أثناء تشغيل GoTestWAF، يمكنك أيضًا اختيار حالات الاختبار بين حالتين مدمجتين: OWASP Top-10 وOWASP-API،
أو حالتك الخاصة (باستخدام [خيار التكوين](#configuration-options) `testCasePath`).

## المتطلبات

* يدعم GoTestwaf جميع أنظمة التشغيل الشائعة (Linux وWindows وmacOS)، ويمكن بناؤه أصليًا
إذا كان [Go](https://golang.org/doc/install) مثبتًا في النظام. إذا كنت تريد تشغيل GoTestWaf أصليًا،
تأكد من أن لديك متصفح Chrome web browser لتتمكن من إنشاء تقارير PDF. في حال لم يكن لديك Chrome،
يمكنك إنشاء تقرير بتنسيق HTML.
* إذا كنت تشغّل GoTestWAF كحاوية Docker، فيرجى التأكد من أنك [ثبّتت Docker وأعددته](https://docs.docker.com/get-docker/)،
وأن GoTestWAF وحل أمان التطبيقات المُقيَّم متصلان بنفس [شبكة Docker](https://docs.docker.com/network/).
* لكي يبدأ GoTestWAF بنجاح، يرجى التأكد من أن عنوان IP للجهاز الذي يشغّل GoTestWAF مُدرج في القائمة البيضاء
على الجهاز الذي يشغّل حل أمان التطبيقات.

## البدء السريع مع Docker

تشرح الخطوات أدناه كيفية تنزيل GoTestWAF وتشغيله بأقل تكوين على Docker.

1.  اسحب [صورة GoTestWAF](https://hub.docker.com/r/wallarm/gotestwaf) من Docker Hub:

    ```
    docker pull wallarm/gotestwaf
    ```

2.  ابدأ صورة GoTestWAF:

    ```sh
    docker run --rm --network="host" -it -v ${PWD}/reports:/app/reports \
        wallarm/gotestwaf --url=<EVALUATED_SECURITY_SOLUTION_URL>
    ```

    إذا لزم الأمر، يمكنك استبدال `${PWD}/reports` بمسار مجلد آخر يُستخدم لوضع تقرير التقييم.

    إذا كنت لا تريد اختياريًا إرسال التقرير بالبريد الإلكتروني، فما عليك سوى الضغط على Enter بعد ظهور رسالة طلب البريد الإلكتروني، أو يمكنك استخدام --noEmailReport لتخطي الرسالة:

    ```sh
    docker run --rm --network="host" -v ${PWD}/reports:/app/reports \
        wallarm/gotestwaf --url=<EVALUATED_SECURITY_SOLUTION_URL> --noEmailReport
    ```

    إذا كانت أداة الأمان المُقيَّمة متاحة خارجيًا، يمكنك تخطي الخيار `--network="host"`. يتيح هذا الخيار تفاعل حاويات Docker التي تعمل على 127.0.0.1.

    لتنفيذ اختبارات gRPC يجب أن يكون لديك نقطة نهاية عاملة واستخدام خيار سطر الأوامر --grpcPort <port>.

    ```sh
    docker run --rm --network="host" -it -v ${PWD}/reports:/app/reports \
        wallarm/gotestwaf --grpcPort 9000 --url=http://my.grpc.endpoint
    ```

3.  تحقق من بريدك الإلكتروني للحصول على التقرير.

لقد قيّمت بنجاح حل أمان التطبيقات الخاص بك باستخدام GoTestWAF بأقل تكوين.
لمعرفة خيارات التكوين المتقدمة، يرجى استخدام هذا [الرابط](#configuration-options).

## التحقق من نتائج التقييم
تنزيل الأداة