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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
dvna — Damn Vulnerable NodeJS Application | Kitploit
أدوات/GitHubGitHub/appsecco/dvna
تحليل الثغرات الأمنيةأمن الويبالتعلم والتعليممختبرات وتدريب عملي
GitHubappsecco/dvna

dvna

Damn Vulnerable NodeJS Application

عرض المستودع
778926منذ 2 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

تطبيق NodeJS القابل للاختراق (DVNA)

dvna-logo

تطبيق NodeJS القابل للاختراق (DVNA) هو تطبيق NodeJS بسيط يُستخدم لتوضيح أهم 10 ثغرات حسب OWASP وتقديم إرشادات حول إصلاح هذه الثغرات وتجنبها. يحتوي فرع fixes على إصلاحات للثغرات. إصلاحات ثغرات OWASssP Top 10 لعام 2017 موجودة في فرع fixes-2017.

يعمل التطبيق باستخدام مكتبات شائعة مثل express و passport و sequelize وغيرها.

دليل المطور الأمني الشامل

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

  1. تعليمات إعداد DVNA
  2. تعليمات استغلال الثغرات
  3. مقتطفات الشيفرات المعرضة للثغرات وتعليمات إصلاحها
  4. توصيات لتجنب مثل هذه الثغرات
  5. مراجع لمزيد من التعلم

منشور المدونة الخاص بهذا الإصدار متاح على https://blog.appsecco.com/damn-vulnerable-nodejs-application-dvna-by-appsecco-7d782d36dc1e

يمكنك إعداد خادم Gitbook محلي للوصول إلى التوثيق باستخدام الأوامر التالية. سيكون التوثيق متاحًا بعد ذلك على http://localhost:4000.

root@kitploit:~
cd docs/
docker run --rm -v `pwd`:/gitbook -p 4000:4000 --name gitbook amontaigu/gitbook gitbook serve

بدء سريع

جرب DVNA باستخدام أمر واحد مع Docker. يستخدم هذا الإعداد قاعدة بيانات SQLite بدلاً من MySQL.

root@kitploit:~
docker run --name dvna -p 9090:9090 -d appsecco/dvna:sqlite

الوصول إلى التطبيق على http://127.0.0.1:9090/

البدء

يمكن نشر DVNA بثلاث طرق:

  1. للمطورين: باستخدام docker-compose مع إعادة التحميل التلقائي عند تحديث الشيفرة
  2. للمختبرين الأمنيين: باستخدام الصورة الرسمية من Docker Hub
  3. للمستخدمين المتقدمين: باستخدام الإعداد اليدوي الكامل

التعليمات التفصيلية حول الإعداد والمتطلبات موجودة في دليل Gitbook.

1. إعداد التطوير

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

root@kitploit:~
git clone https://github.com/appsecco/dvna; cd dvna

إنشاء ملف vars.env مع تكوين قاعدة البيانات المطلوب

root@kitploit:~
MYSQL_USER=dvna
MYSQL_DATABASE=dvna
MYSQL_PASSWORD=passw0rd
MYSQL_RANDOM_ROOT_PASSWORD=yes

تشغيل التطبيق وقاعدة البيانات باستخدام docker-compose

root@kitploit:~
docker-compose up

الوصول إلى التطبيق على http://127.0.0.1:9090/

سيتم إعادة تحميل التطبيق تلقائيًا عند تغيير الشيفرة، لذا لا تتردد في تعديله وتجربته.

استخدام الصورة الرسمية من Docker

إنشاء ملف باسم vars.env بالتكوين التالي

root@kitploit:~
MYSQL_USER=dvna
MYSQL_DATABASE=dvna
MYSQL_PASSWORD=passw0rd
MYSQL_RANDOM_ROOT_PASSWORD=yes
MYSQL_HOST=mysql-db
MYSQL_PORT=3306

تشغيل حاوية MySQL

root@kitploit:~
docker run --rm --name dvna-mysql --env-file vars.env -d mysql:5.7

تشغيل التطبيق باستخدام الصورة الرسمية

root@kitploit:~
docker run --rm --name dvna-app --env-file vars.env --link dvna-mysql:mysql-db -p 9090:9090 appsecco/dvna

الوصول إلى التطبيق على http://127.0.0.1:9090 وابدأ الاختبار!

الإعداد اليدوي

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

root@kitploit:~
git clone https://github.com/appsecco/dvna; cd dvna

تكوين متغيرات البيئة بمعلومات قاعدة البيانات الخاصة بك

root@kitploit:~
export MYSQL_USER=dvna
export MYSQL_DATABASE=dvna
export MYSQL_PASSWORD=passw0rd
export MYSQL_HOST=127.0.0.1
export MYSQL_PORT=3306

تثبيت التبعيات

root@kitploit:~
npm install

تشغيل التطبيق

root@kitploit:~
npm start

الوصول إلى التطبيق على http://localhost:9090

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

  • ربط الالتزامات بالإصلاحات في التوثيق
  • إضافة ثغرات جديدة من OWASP Top 10 لعام 2017
  • تحسين ميزات التطبيق والتوثيق

المساهمة

في حالة وجود أخطاء في التطبيق، يُرجى إنشاء مشكلة (issue) على GitHub. طلبات السحب (Pull requests) مرحب بها جدًا!

شكر

Abhisek Datta - abhisek على بنية التطبيق والشيفرة الأمامية

الترخيص

MIT

تنزيل الأداة