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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Damn_Vulnerable_C_Program — برنامج C مثال يحتوي على كود ضعيف لأنواع شائعة من الثغرات الأمنية. يمكن استخدامه لعرض مفاهيم Fuzzing. | Kitploit
أدوات/GitHubGitHub/hardik05/damn_vulnerable_c_program
تحليل الثغرات الأمنيةالاختبار العشوائيالتعلم والتعليممختبرات وتدريب عملي
GitHubhardik05/damn_vulnerable_c_program

Damn_Vulnerable_C_Program

برنامج C مثال يحتوي على كود ضعيف لأنواع شائعة من الثغرات الأمنية. يمكن استخدامه لعرض مفاهيم Fuzzing.

عرض المستودع
الموقع الإلكتروني
7261884منذ سنة واحدةتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

ملاحظة: تم تغيير اسم الملف من imgRead.c إلى dvcp.c، إذا كنت تشاهد فيديوهات فسترى imgRead.c ولكن في مستودع GitHub سترى dvcp.c، يرجى استخدام اسم الملف الصحيح.

برنامج C الضعيف عمدًا (DVCP)

Twitter Follow

قناتي على يوتيوب: https://www.youtube.com/user/MrHardik05/featured?view_as=subscriber

ما هو؟

هذا برنامج C بسيط قمت بترميزه لشرح الأنواع الشائعة من الثغرات الأمنية مثل:

  1. تجاوز عدد صحيح (integer overflow)
  2. نقص عدد صحيح (integer underflow)
  3. قراءة خارج الحدود (Out of bound Read)
  4. كتابة خارج الحدود (Out of bound Write)
  5. تحرير مزدوج (Double Free)
  6. استخدام بعد التحرير (Use After Free)
  7. تسرب الذاكرة (Memory leaks)
  8. استنزاف المكدس (Stack exhaustion)
  9. استنزاف الكومة (Heap exhaustion)

يحتوي برنامج C هذا على كود ضعيف لجميع الثغرات المذكورة أعلاه ويمكنك استخدام أي أداة تشويش (fuzzer) مثل AFL أو libafl أو libfuzzer أو hongfuzz أو winafl أو jackalope أو أي أداة أخرى تريدها.

كيفية الترجمة (البناء)

فقط اكتب "make" في موجه الأوامر. ملف Makefile مرفق معه.

كيفية إنشاء ملف إدخال لـ AFL؟

فقط أنشئ ملف إدخال تجريبي كما يلي وسيتولى AFL الباقي:

echo "IMG" >input/1.txt

سيقوم AFL تلقائيًا بإنشاء حالات اختبار جديدة واكتشاف معظم الثغرات المذكورة أعلاه. هذا هو جمال AFL :)

كيفية استخدام التشويش مع AFL؟

1. أولاً قم بترجمة هذا البرنامج باستخدام الأمر التالي:

afl-gcc -g -fsanitize=address dvcp.c -o dvcp

2. قم بتشغيل هذا الأمر:

afl-fuzz -i input -o output -m none -- ./dvcp @@

كيفية استخدام التشويش مع honggfuzz

1. أولاً قم بترجمة هذا البرنامج باستخدام الأمر التالي:

hfuzz-gcc -g -fsanitize=address dvcp.c -o dvcp

2. قم بتشغيل هذا الأمر:

hongfuzz -i input -- ./dvcp ___FILE___

كيفية استخدام التشويش مع libfuzzer

تحتاج إلى تعديل كود C، يمكنك الحصول على الكود المحدّث من هنا: https://github.com/hardik05/Damn_Vulnerable_C_Program/blob/master/dvcp_libfuzzer.c

1. قم بترجمة البرنامج باستخدام الأمر التالي:

clang -fsanitize=fuzzer,address,undefined -g dvcp_libfuzzer.c -o dvcp_libfuzzer

2. قم بتشغيل هذا الأمر للتشويش:

./dvcp_libfuzzer

يمكنك مشاهدة الدروس المرئية هنا:

قائمة تشغيل التشويش الكاملة:

https://www.youtube.com/watch?v=r7ucv2kN4j4&list=PLHGgqcJIME5kYhOSdJjvtVS4b4_OXDqM-

الفيديوهات الفردية أدناه:

لينكس

LibAFL

[Fuzzing with libAFL] كيفية تثبيت libAFL على النظام وما هي المكونات المختلفة؟ -> https://www.youtube.com/watch?v=ztGfxbvcrms

[Fuzzing with libAFL] مقدمة إلى libAFL ForkServer، تشغيل أداة التشويش libAFL forkserver. -> https://www.youtube.com/watch?v=Ed1anYoGTyA

[Fuzzing with libAFL] تشويش برنامج C الضعيف عمدًا باستخدام أداة التشويش libAFL forkserver -> https://www.youtube.com/watch?v=ad_4zroiS_g

[Fuzzing with libAFL] استخدام وضع الذاكرة المشتركة مع أداة التشويش libAFL forkserver -> https://www.youtube.com/watch?v=GXD_qkISyfY

AFL++

[Fuzzing with AFLplusplus] تثبيت AFLplusplus وتشويش برنامج C بسيط -> https://www.youtube.com/watch?v=9wRVo0kYSlc

[Fuzzing with AFLplusplus] كيفية تشويش ملف ثنائي بدون كود مصدري على لينكس في الوضع المستمر (persistent mode) -> https://www.youtube.com/watch?v=LGPJdEO02p4

AFL

[Fuzzing with AFL] كيفية تثبيت AFL على أوبونتو -> https://www.youtube.com/watch?v=r7ucv2kN4j4

[Fuzzing with AFL] تشويش برنامج C بسيط باستخدام AFL -> https://www.youtube.com/watch?v=NiGC1jxFx78&t=66s

[Fuzzing with AFL] إيجاد أنواع مختلفة من الثغرات باستخدام AFL -> https://www.youtube.com/watch?v=m1RkShHzx_8&t=151s

[Fuzzing with AFL] فرز الانهيارات باستخدام crashwalk وإيجاد السبب الجذري باستخدام GDB -> https://www.youtube.com/watch?v=5R2gPkCXZkM

[Fuzzing with AFL] تشويش ملف ثنائي بدون كود مصدري باستخدام AFL في وضع Qemu. -> https://www.youtube.com/watch?v=np3sLLFQs6I

Honggfuzz

[Fuzzing with honggfuzz] تشويش برنامج C بسيط باستخدام HongFuzz -> https://www.youtube.com/watch?v=6OBXJtEe-d8

[Fuzzing with honggfuzz] Hongfuzz, checksec(pwntools), ASAN -> https://www.youtube.com/watch?v=Lr8pLQRTHac

Libfuzzer

[Fuzzing with libfuzzer] كيفية تشويش برنامج C بسيط باستخدام LibFuzzer -> https://www.youtube.com/watch?v=hFva8kJQwnc&list=PLHGgqcJIME5m7HaHfACayoyN0TRe2PHRp

[Fuzzing with libfuzzer,AFL] كيفية تشويش برنامج libfuzzer harness باستخدام AFL -> https://www.youtube.com/watch?v=HfEqm3TrfwM&list=PLHGgqcJIME5m7HaHfACayoyN0TRe2PHRp&index=2

كيفية إعادة إنتاج ثغرات OpenSSL CVE-2022-3602 و CVE-2022-3786 واستخدام libfuzzer -> https://www.youtube.com/watch?v=vhTuXph1dtY

Radamsa

[Fuzzing with Radamsa] تشويش برنامج C بسيط باستخدام Radamsa -> https://youtu.be/1FRsXVNpynQ

ويندوز

WinAFL

[Fuzzing with WinAFL] تشويش برنامج C بسيط باستخدام WinAFL -> https://www.youtube.com/watch?v=Va_Wtxf3DMc

[Fuzzing with WinAFL] ما هي دالة التشويش (fuzzing function)، وكيف تتأكد من أن كل شيء يعمل بشكل صحيح؟ -> https://www.youtube.com/watch?v=HLORLsNnPzo

أحتاج المزيد من قوالب ويندوز (harness) للتشويش باستخدام winafl

بالتأكيد، تحقق من هنا -> https://github.com/hardik05/winafl-harness

أريد تجربة شيء مختلف ربما بعض المُبدِّلات (mutators) المختلفة عن المُبدِّلات الافتراضية في winafl..

نعم، يمكنك تجربة هذا -> https://github.com/hardik05/winafl-powermopt

سيتم رفع المزيد كلما أنشأتها.

OSS-Fuzz من جوجل

كيف يعمل OSS-Fuzz: دليل لاختبار التشويش لمشاريع المصدر المفتوح -> https://www.youtube.com/watch?v=OBxCDsJ-0aM

لماذا أنشأت هذا؟

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

إذا تعلمت شيئًا منه، أرسل لي ملاحظة شكر. هذا كل ما أحتاجه. أيضًا إذا كنت تريد تحسين أو إصلاح شيء ما، فإن طلبات السحب (PR) مرحب بها!

المؤلف؟

تويتر: https://twitter.com/hardik05

البريد الإلكتروني: راسلني عبر الرسائل الخاصة على تويتر :)

الويب: http://hardik05.wordpress.com

ملاحظات؟

الاقتراحات والتعليقات مرحب بها دائمًا. إذا وجدت أي مشكلة أو كان لديك إصلاح أو ميزة جديدة، أرسل طلب سحب (pull request).

سجل النجوم (Star History)

Star History Chart

تنزيل الأداة