
هذا المستودع مخصص لورشة عمل اختبار ViewState في ASP.NET باستخدام YSoNet (YSoSerial.NET).
هذا المستودع مخصص لورشة العمل اختبار ASP.NET ViewState باستخدام YSoNet (YSoSerial.NET).
قراءة موصى بها: استغلال إلغاء التسلسل في ASP.NET عبر ViewState
أدوات موصى بها لحل المختبرات (عند إعداد المختبر):
شرائح ورشة العمل: EXPLOITING_KNOWN_MACHINE_WORKSHOP_v1.0_NahamCon2025_slides.pdf
هذه بيئة مختبر غير آمنة عمدًا لأغراض الاختبارات الأمنية والتعليم فقط.
تم تصميم هذا المختبر لمساعدة المتخصصين في الأمن على تحسين قدراتهم في اختبار ثغرات ASP.NET ViewState. استخدمه بمسؤولية وفي بيئات خاضعة للرقابة فقط.
نفّذ هذه الخطوات على خادم Windows المعزول الخاص بك لتجهيز بيئة المختبر. افتح طرفية PowerShell بصلاحيات مرتفعة (تشغيل كمسؤول) ونفّذ الأوامر التالية:
# Clone the repository (or download and extract the ZIP)
git clone https://github.com/irsdl/viewstate-security-workshop.git
cd viewstate-security-workshop
.\tools\Install-IISAndDotNet.ps1
يعمل هذا الأمر على تثبيت IIS مع دعم ASP.NET وجميع إصدارات .NET Framework المطلوبة.
.\tools\Disable-DefenderProtection.ps1
لماذا تعطيل Defender؟ في هذا المختبر، نقوم بتعطيل Windows Defender حتى لا يتم حظر تنفيذ الأوامر عبر استغلالات ViewState. يتيح لك ذلك ملاحظة الاستغلال الناجح بوضوح دون أي تدخل من حماية نقطة النهاية.
مهم: في بيئة اختبار حقيقية أو بيئة إنتاج، يجب عليك إبقاء الحمايات مفعّلة. الهدف من ورشة العمل هذه هو فهم آليات الثغرة — وبمجرد تعلّم التقنيات، تدرب على اكتشاف هذه الهجمات وحظرها مع تفعيل Defender.
.\import-workshopiis.ps1
يقوم هذا البرنامج النصي التفاعلي بإعداد موقع ورشة العمل القابل للاختراق في IIS. سيطلب منك خيارات التهيئة بالقيم الافتراضية التالية:
| الإعداد | القيمة الافتراضية |
|---|---|
| ملف الإعدادات | .\workshop-iis-config.json |
| اسم الموقع | workshop |
| المسار الجذر | C:\workshop\websites\wwwdata |
| منفذ HTTP | 80 |
سينفّذ البرنامج النصي ما يلي:
content إلى المسار الجذر للموقعبعد الإعداد، يجب أن يظهر مدير IIS الخاص بك بهذا الشكل:

للمهتمين فقط من القرّاء:
يُعدّ خادم Windows للمختبر عن طريق تثبيت مكونات IIS و .NET Framework.
الموقع: tools/Install-IISAndDotNet.ps1
الاستخدام:
# Run as Administrator
.\tools\Install-IISAndDotNet.ps1
ما يقوم بتثبيته:
ملاحظة: لتثبيت .NET Framework 3.5 على الخوادم المعزولة، قد تحتاج إلى تحميل ISO لخادم Windows وإلغاء تعليق خيار التثبيت المستند إلى المصدر في البرنامج النصي.
يعمل على تعطيل حمايات Windows Defender للسماح لأدوات الاستغلال بالعمل في بيئة المختبر.
الموقع: tools/Disable-DefenderProtection.ps1
الاستخدام:
# Run as Administrator
.\tools\Disable-DefenderProtection.ps1
ما يقوم بتعطيله:
يعيد تفعيل حمايات Windows Defender بعد استخدام المختبر.
الموقع: tools/Enable-DefenderProtection.ps1
الاستخدام:
# Run as Administrator
.\tools\Enable-DefenderProtection.ps1
ما يقوم بتفعيله:
برنامج نصي تفاعلي يستورد إعدادات موقع ورشة العمل في IIS وينشر محتوى الويب القابل للاختراق.
الموقع: import-workshopiis.ps1
الاستخدام:
# Run as Administrator
.\import-workshopiis.ps1
ما يقوم به:
content إلى المسار الجذر المحدد.NET v2.0 للتطبيقات القديمة)ملف إعدادات JSON يحدد بنية موقع IIS المُصدَّرة من خادم مختبر مرجعي.
الموقع: workshop-iis-config.json
يحتوي على:
/mac/* - تطبيقات مع تفعيل التحقق من MAC/nomac/* - تطبيقات بدون التحقق من MACv20, v40, v45) لاختبار بيئات تشغيل .NET المختلفةتم إنشاء هذا البرنامج لأغراض البحث الأكاديمي وتطوير تقنيات دفاعية فعّالة فقط، وليس الغرض منه استخدامه لمهاجمة الأنظمة إلا في الحالات المصرح بها صراحةً. المسؤولون عن المشروع غير مسؤولين عن إساءة استخدام البرنامج. استخدمه بمسؤولية.
هذا البرنامج مشروع شخصي ولا يرتبط بأي شركات، بما في ذلك جهات عمل مالك المشروع والمساهمين.