
إطار عمل الوعي بالأمن السيبراني (CSAF)
إن Damn Vulnerable Web Application (DVWA) هو تطبيق ويب تم إضعافه عمداً ومصمم بـ PHP / MySQL. الهدف الرئيسي هو مساعدة مختصي أمن المعلومات وذلك باختبار مهاراتهم وأدواتهم في بيئة تشبه البيئة الحقيقية، ومساعدة مطوري الويب على فهم طرق تأمين تطبيقات الويب بشكل أفضل ومساعدة كل من الطلاب والمدرسين في التعرف على أمان تطبيقات الويب في بيئة محكمة.
الهدف من DVWA هو التدرب على بعض نقاط الضعف على الويب الأكثر شيوعًا ، ضمن مستويات مختلفة من الصعوبة ، بواجهة بسيطة ومباشرة. يرجى ملاحظة أن هناك ثغرات موثقة وغير موثقة في هذا التطبيق ,هو إجراء متعمد. نحن نشجع على محاولة اكتشاف أكبر عدد ممكن من المشكلات.
إن Damn Vulnerable Web Application (DVWA) ضعيف للغاية أمنياً! لا تضعه في مجلد html العام في الاستضافة الخاصة بك أو الخوادم التي تعمل على الانترنت ، إذ أنه سيتم اختراقها. يُوصى باستخدام كيان افتراضي (مثل [VirtualBox] (https://www.virtualbox.org/) أو [VMware] (https://www.vmware.com/)) ، ويتم تعيينه على وضع شبكة NAT، يمكنك تنزيل وتثبيت [XAMPP] (https://www.apachefriends.org/) لخادم الويب وقاعدة البيانات.
نحن لا نتحمل مسؤولية الطريقة التي يستخدم بها أي شخص هذا التطبيق (DVWA). إذ أننا أوضحنا أغراض التطبيق ولا ينبغي استخدامه بشكل ضار. لقد أصدرنا تحذيرات واتخذنا تدابير لمنع المستخدمين من تثبيت DVWA على خوادم الويب الحقيقية. إذا تم اختراق خادم الويب الخاص بك عن طريق تثبيت DVWA ، فهذه ليست مسؤوليتنا ، بل تقع على عاتق الشخص / الأشخاص الذين قاموا بتحميله وتثبيته.
هذا الملف جزء من Damn Vulnerable Web Application (DVWA).
يعد تطبيق Damn Vulnerable Web Application (DVWA) برنامجًا مجانيًا: يمكنك إعادة توزيعه و / أو تعديله بموجب شروط GNU General Public License كما تم نشرها بواسطة Free Software Foundation ، إما الإصدار 3 من الترخيص ، أو (حسب اختيارك) أي إصدار لاحق.
يتم توزيع Damn Vulnerable Web Application (DVWA) لتحقيق الفائدة ، ولكن دون أي ضمان ؛ حتى بدون الضمان الضمني لـ القابلية للتسويق أو الملاءمة لغرض معين. يرجى الاطلاع على ترخيص GNU General Public License لمزيد من التفاصيل.
يجب أن تكون قد تلقيت نسخة من ترخيص GNU General Public License مع Damn Vulnerable Web Application (DVWA)، إذا لم تتلقى هذه الرخصة، يرجى الاطلاع على https://www.gnu.org/licenses/.
هذا الملف متوفر بعدة لغات:
إذا كنت ترغب في المساهمة في ترجمة ، يرجى تقديم PR . ولا يعني ذلك مجرد استخدام خدمة الترجمة من Google وإرسال المساهمة ، إذ أنه سيتم رفضها.
توجد إصدارات مختلفة من DVWA حولها ، والإصدار الوحيد المدعوم هو أحدث مصدر من مستودع GitHub الرسمي. يمكنك إما سحب نسخة clone من الريبو Repo:
git clone https://github.com/digininja/DVWA.git
يرجى التأكد من وجود ملف config / config.inc.php الخاص بك. إن وجود ملف config.inc.php.dist بمفرده لن يكون كافيًا ويجب عليك تعديله ليلائم بيئتك وإعادة تسميته إلى config.inc.php ، قد يخفي Windows امتدادات الملفات، يجب عليك إظهارها لتعديل امتداد الملف.](https://www.howtogeek.com/205086/beginner-how-to-make-windows-show-file-extensions/)
أسهل طريقة لتثبيت DVWA هي تحميل [XAMPP] وتثبيته (https://www.apachefriends.org/) إذا لم يكن لديك خادم الويب جاهز ومعد مسبقاً.
يعد XAMPP وسيلة سهلة لتثبيت Apache Distribution في أنظمة Linux و Solaris و Windows و Mac OS X. تتضمن الحزمة خادم الويب Apache و MySQL و PHP و Perl وخادم FTP و phpMyAdmin.
يمكن تحميل XAMPP من هنا: https://www.apachefriends.org/
ببساطة قم بفك ضغط dvwa.zip ، ضع الملفات التي تم فك ضغطها في مجلد html العام ، ثم اطلب العنوان التالي من المتصفح: http://127.0.0.1/dvwa/setup.php
إذا كنت تستخدم توزيعة Linux مبنية على Debian ، فستحتاج إلى تثبيت الحزم التالية _ (أو ما يكافئها) _:
apt-get -y install apache2 mariadb-server php php-mysqli php-gd libapache2-mod-php
سيعمل الموقع مع MySQL بدلاً من MariaDB لكننا نوصي بشدة باستخدام MariaDB لأنه يعمل خارج الصندوق، سيتعين عليك إجراء تغييرات لتمكين MySQL من العمل بشكل صحيح.
لإعداد قاعدة البيانات ، ما عليك سوى الضغط على الزر Setup DVWA في القائمة الرئيسية ، ثم االضغط على الزر Create / Reset Database. سيؤدي هذا إلى إنشاء / إعادة تعيين قاعدة البيانات وإضافة بعض البيانات.
إذا ظهر خطأ أثناء محاولة إنشاء قاعدة البيانات، فتأكد من صحة بيانات الدخول قاعدة البيانات (اسم المستخدم وكلمة المرور) في الملف /config/config.inc.php وهذا الملف يختلف عن config.inc.php.dist والذي يعتبر مثال.
تم ضبط قيم المتحولات التالية افتراضياً وفق ما يلي:
$_DVWA[ 'db_server'] = '127.0.0.1';
$_DVWA[ 'db_port'] = '3306';
$_DVWA[ 'db_user' ] = 'dvwa';
$_DVWA[ 'db_password' ] = 'p@ssw0rd';
$_DVWA[ 'db_database' ] = 'dvwa';
ملاحظة ، إذا كنت تستخدم MariaDB بدلاً من MySQL (يعد MariaDB افتراضيًا في Kali) ، فلا يمكنك استخدام root كمستخدم، يجب عليك إنشاء مستخدم قاعدة بيانات جديد. للقيام بذلك ، اتصل بقاعدة البيانات بصفتك المستخدم root، ونفذ الأوامر التالية:
mysql> create database dvwa;
Query OK, 1 row affected (0.00 sec)
mysql> create user dvwa@localhost identified by 'p@ssw0rd';
Query OK, 0 rows affected (0.01 sec)
mysql> grant all on dvwa.* to dvwa@localhost;
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
اعتمادًا على نظام التشغيل الخاص بك وإصدار PHP ، قد ترغب في تغيير التكوين الافتراضي default configuration. سيكون موقع الملفات مختلفًا حسب كل جهاز.
سماحيات المجلد:
/hackable/uploads/ - يجب أن تستطيع خدمة الويب الكتابة على هذا الملف (لتنفيذ وظيفة تحميل الملف)./external/phpids/0.6/lib/IDS/tmp/phpids_log.txt - يجب أن تستطيع خدمة الويب الكتابة على هذا الملف (إذا كنت ترغب باستخدام PHPIDS).تكوين PHP:
allow_url_include = on - السماح بتضمين الملفات عن بعد Remote File Inclusions (RFI) [allow_url_include]allow_url_fopen = on - السماح بتضمين الملفات عن بعد Remote File Inclusions (RFI) [allow_url_fopen]safe_mode = off - (إذا كان إصدار PHP أقل من أو يساوي 5.4) السماح بحقن SQL - SQL Injection (SQLi) [safe_mode]magic_quotes_gpc = off - (إذا كان إصدار PHP أقل من أو يساوي 5.4) السماح بحقن SQL - SQL Injection (SQLi) [magic_quotes_gpc]display_errors = off - (اختياري) إخفاء رسائل تحذير PHP لجعلها أقل إسهابًا [display_errors]الملف: config/config.inc.php:
$_DVWA[ 'recaptcha_public_key' ] و$_DVWA[ 'recaptcha_private_key' ] يجب توليد قيم هذه المتحولات وذلك من خلال: https://www.google.com/recaptcha/admin/createاسم المستخدم الالافتراضي = admin
كلمة المرور الافتراضية = password
...يمكن بسهولة تخمينها باستخدام هجوم Brute Force ;)
رابط تسجيل الدخول : http://127.0.0.1/login.php
ملاحظة: سيختلف الرابط في حال تثبيت DVWA في مسار مختلف.
docker run --rm -it -p 80:80 vulnerables/web-dvwaيرجى التأكد من أنك تستخدم aufs بسبب مشاكل MySQL السابقة. نفذ الأمر docker info للتحقق من storage driver. إذا لم يكن aufs ، يرجى تغييره على هذا النحو. هناك أدلة لكل نظام تشغيل حول كيفية القيام بذلك ، لكنها مختلفة تمامًا لذا لن نغطي ذلك هنا.