{"id":13476975,"url":"https://github.com/digininja/DVWA","last_synced_at":"2025-03-27T04:31:44.353Z","repository":{"id":37237683,"uuid":"9791525","full_name":"digininja/DVWA","owner":"digininja","description":"Damn Vulnerable Web Application (DVWA)","archived":false,"fork":false,"pushed_at":"2024-10-16T09:21:52.000Z","size":2451,"stargazers_count":10197,"open_issues_count":4,"forks_count":3577,"subscribers_count":309,"default_branch":"master","last_synced_at":"2024-10-29T11:21:36.385Z","etag":null,"topics":["dvwa","hacking","infosec","php","security","sql-injection","training"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/digininja.png","metadata":{"files":{"readme":"README.ar.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"COPYING.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"digininja","custom":"https://digi.ninja"}},"created_at":"2013-05-01T13:03:10.000Z","updated_at":"2024-10-29T10:10:05.000Z","dependencies_parsed_at":"2022-07-10T14:46:09.927Z","dependency_job_id":"69707613-dcb1-40f3-882d-16fbe93feab5","html_url":"https://github.com/digininja/DVWA","commit_stats":null,"previous_names":["ethicalhack3r/dvwa"],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digininja%2FDVWA","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digininja%2FDVWA/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digininja%2FDVWA/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digininja%2FDVWA/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/digininja","download_url":"https://codeload.github.com/digininja/DVWA/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244277170,"owners_count":20427311,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dvwa","hacking","infosec","php","security","sql-injection","training"],"created_at":"2024-07-31T16:01:36.827Z","updated_at":"2025-03-27T04:31:44.318Z","avatar_url":"https://github.com/digininja.png","language":"PHP","readme":"# DAMN VULNERABLE WEB APPLICATION\n\nإن  Damn Vulnerable Web Application (DVWA) هو تطبيق ويب تم إضعافه عمداً ومصمم بـ PHP / MySQL. الهدف الرئيسي هو مساعدة مختصي أمن المعلومات وذلك باختبار مهاراتهم وأدواتهم في بيئة تشبه البيئة الحقيقية، ومساعدة مطوري الويب على فهم طرق تأمين تطبيقات الويب بشكل أفضل ومساعدة كل من الطلاب والمدرسين في التعرف على أمان تطبيقات الويب في بيئة محكمة.\n\nالهدف من DVWA هو **التدرب على بعض نقاط الضعف على الويب الأكثر شيوعًا** ، ضمن **مستويات مختلفة من الصعوبة** ، بواجهة بسيطة ومباشرة.\nيرجى ملاحظة أن هناك **ثغرات موثقة وغير موثقة** في هذا التطبيق ,هو إجراء متعمد. نحن نشجع على محاولة اكتشاف أكبر عدد ممكن من المشكلات.\n- - -\n\n## تحذير!\n\nإن  Damn Vulnerable Web Application (DVWA) ضعيف للغاية أمنياً! **لا تضعه في مجلد html العام في الاستضافة الخاصة بك أو الخوادم التي تعمل على الانترنت** ، إذ أنه سيتم اختراقها. يُوصى باستخدام كيان افتراضي (مثل [VirtualBox] (https://www.virtualbox.org/)  أو [VMware] (https://www.vmware.com/)) ، ويتم تعيينه على وضع شبكة NAT، يمكنك تنزيل وتثبيت [XAMPP] (https://www.apachefriends.org/) لخادم الويب وقاعدة البيانات.\n\n\n### إخلاء مسؤولية\n\nنحن لا نتحمل مسؤولية الطريقة التي يستخدم بها أي شخص هذا التطبيق (DVWA). إذ أننا أوضحنا أغراض التطبيق ولا ينبغي استخدامه بشكل ضار. لقد أصدرنا تحذيرات واتخذنا تدابير لمنع المستخدمين من تثبيت DVWA على خوادم الويب الحقيقية. إذا تم اختراق خادم الويب الخاص بك عن طريق تثبيت DVWA ، فهذه ليست مسؤوليتنا ، بل تقع على عاتق الشخص / الأشخاص الذين قاموا بتحميله وتثبيته.\n\n- - -\n\n## ترخيص\n\nهذا الملف جزء من Damn Vulnerable Web Application (DVWA).\n\nيعد تطبيق Damn Vulnerable Web Application (DVWA) برنامجًا مجانيًا: يمكنك إعادة توزيعه و / أو تعديله\nبموجب شروط   GNU General Public License  كما تم نشرها بواسطة\nFree Software Foundation ، إما الإصدار 3 من الترخيص ، أو \n(حسب اختيارك) أي إصدار لاحق.\n\nيتم توزيع Damn Vulnerable Web Application (DVWA) لتحقيق الفائدة ، \nولكن دون أي ضمان ؛ حتى بدون الضمان الضمني لـ \nالقابلية للتسويق أو الملاءمة لغرض معين. يرجى الاطلاع على \nترخيص  GNU General Public License لمزيد من التفاصيل.\n\n\nيجب أن تكون قد تلقيت نسخة من ترخيص    GNU General Public License \nمع   Damn Vulnerable Web Application (DVWA)، إذا لم تتلقى هذه الرخصة، يرجى الاطلاع  على   \u003chttps://www.gnu.org/licenses/\u003e.\n\n- - -\n\n## الترجمة\n\nهذا الملف متوفر بعدة لغات:\n\n- الصينية: [简体中文](README.zh.md)\n- التركية: [Türkçe](README.tr.md)\n- العربية: [العربية](README.ar.md)\n\nإذا كنت ترغب في المساهمة في ترجمة ، يرجى تقديم  PR . ولا يعني ذلك مجرد استخدام خدمة الترجمة من Google وإرسال المساهمة ، إذ أنه سيتم رفضها.\n\n- - -\n\n## التحميل\n\nتوجد إصدارات مختلفة من DVWA حولها ، والإصدار الوحيد المدعوم هو أحدث مصدر من مستودع GitHub الرسمي. يمكنك إما سحب نسخة clone من الريبو Repo:\n\n```\ngit clone https://github.com/digininja/DVWA.git\n```\n\nأو  [تحميل ملف ZIP للملفات](https://github.com/digininja/DVWA/archive/master.zip).\n\n- - -\n\n## التثبيت\n\n**يرجى التأكد من وجود ملف 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/)**\n\n### فيديو التثبيت\n\n- [تثبيت Damn Vulnerable Web Application (DVWA)  على نظام التشغيل Windows 10 ](https://www.youtube.com/watch?v=cak2lQvBRAo) [12:39 دقيقة]\n\n### تثبيت Windows + XAMPP\n\nأسهل طريقة لتثبيت DVWA هي تحميل [XAMPP] وتثبيته (https://www.apachefriends.org/) إذا لم يكن لديك خادم الويب جاهز ومعد مسبقاً.\n\nيعد XAMPP  وسيلة سهلة لتثبيت Apache Distribution في أنظمة Linux و Solaris و Windows و Mac OS X. تتضمن الحزمة خادم الويب Apache و MySQL و PHP و Perl وخادم FTP و phpMyAdmin.\n\nيمكن تحميل XAMPP من هنا:\n\u003chttps://www.apachefriends.org/\u003e\n\nببساطة قم بفك ضغط dvwa.zip ، ضع الملفات التي تم فك ضغطها في مجلد html العام ، ثم اطلب العنوان التالي من المتصفح: `http://127.0.0.1/dvwa/setup.php`\n\n### حزم Linux\nإذا كنت تستخدم توزيعة Linux مبنية على Debian ، فستحتاج إلى تثبيت الحزم التالية _ (أو ما يكافئها) _:\n\n`apt-get -y install apache2 mariadb-server php php-mysqli php-gd libapache2-mod-php`\n\nسيعمل الموقع مع MySQL بدلاً من MariaDB لكننا نوصي بشدة باستخدام MariaDB لأنه يعمل خارج الصندوق، سيتعين عليك إجراء تغييرات لتمكين  MySQL  من العمل بشكل صحيح.\n\n### إعداد قاعدة البيانات\n\nلإعداد قاعدة البيانات ، ما عليك سوى الضغط على الزر `Setup DVWA` في القائمة الرئيسية ، ثم االضغط على الزر `Create / Reset Database`. سيؤدي هذا إلى إنشاء / إعادة تعيين قاعدة البيانات وإضافة بعض البيانات.\n\nإذا ظهر خطأ أثناء محاولة إنشاء قاعدة البيانات، فتأكد من صحة بيانات الدخول قاعدة البيانات (اسم المستخدم وكلمة المرور) في الملف `/config/config.inc.php` *وهذا الملف يختلف عن config.inc.php.dist والذي يعتبر مثال.*\n\nتم ضبط قيم المتحولات التالية افتراضياً وفق ما يلي:\n\n```php\n$_DVWA[ 'db_server'] = '127.0.0.1';\n$_DVWA[ 'db_port'] = '3306';\n$_DVWA[ 'db_user' ] = 'dvwa';\n$_DVWA[ 'db_password' ] = 'p@ssw0rd';\n$_DVWA[ 'db_database' ] = 'dvwa';\n```\n\nملاحظة ، إذا كنت تستخدم MariaDB بدلاً من MySQL (يعد MariaDB افتراضيًا في Kali) ، فلا يمكنك استخدام root كمستخدم، يجب عليك إنشاء مستخدم قاعدة بيانات جديد. للقيام بذلك ، اتصل بقاعدة البيانات بصفتك المستخدم root، ونفذ الأوامر التالية:\n\n```mysql\nmysql\u003e create database dvwa;\nQuery OK, 1 row affected (0.00 sec)\n\nmysql\u003e create user dvwa@localhost identified by 'p@ssw0rd';\nQuery OK, 0 rows affected (0.01 sec)\n\nmysql\u003e grant all on dvwa.* to dvwa@localhost;\nQuery OK, 0 rows affected (0.01 sec)\n\nmysql\u003e flush privileges;\nQuery OK, 0 rows affected (0.00 sec)\n```\n\n### تكوينات  أخرى\n\nاعتمادًا على نظام التشغيل الخاص بك وإصدار PHP ، قد ترغب في تغيير التكوين الافتراضي default configuration. سيكون موقع الملفات مختلفًا حسب كل جهاز.\n\n**سماحيات المجلد**:\n* المسار `/hackable/uploads/` - يجب أن تستطيع خدمة الويب الكتابة على هذا الملف (لتنفيذ وظيفة تحميل الملف).\n* المسار `/external/phpids/0.6/lib/IDS/tmp/phpids_log.txt` - يجب أن تستطيع خدمة الويب الكتابة على هذا الملف (إذا كنت ترغب باستخدام PHPIDS).\n\n\n**تكوين PHP**:\n* الخيار `allow_url_include = on` - السماح بتضمين الملفات عن بعد  Remote File Inclusions (RFI)   [[allow_url_include](https://secure.php.net/manual/en/filesystem.configuration.php#ini.allow-url-include)]\n* الخيار `allow_url_fopen = on` -  السماح بتضمين الملفات عن بعد  Remote File Inclusions (RFI)    [[allow_url_fopen](https://secure.php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen)]\n* الخيار `safe_mode = off` - (إذا كان إصدار PHP أقل من أو يساوي 5.4) السماح بحقن SQL  - SQL Injection (SQLi) [[safe_mode](https://secure.php.net/manual/en/features.safe-mode.php)]\n* الخيار `magic_quotes_gpc = off` - (إذا كان إصدار PHP أقل من أو يساوي 5.4) السماح بحقن SQL  - SQL Injection (SQLi) [[magic_quotes_gpc](https://secure.php.net/manual/en/security.magicquotes.php)]\n* الخيار `display_errors = off` - (اختياري)  إخفاء رسائل تحذير PHP لجعلها أقل إسهابًا  [[display_errors](https://secure.php.net/manual/en/errorfunc.configuration.php#ini.display-errors)]\n\n**الملف:  `config/config.inc.php`**:\n\n* المتحولات `$_DVWA[ 'recaptcha_public_key' ]`  و`$_DVWA[ 'recaptcha_private_key' ]`  يجب توليد قيم هذه المتحولات وذلك من خلال:  https://www.google.com/recaptcha/admin/create\n\n### بيانات الدخول الافتراضية\n\n**اسم المستخدم الالافتراضي  = `admin`**\n\n**كلمة المرور الافتراضية  = `password`**\n\n_...يمكن بسهولة تخمينها باستخدام هجوم Brute Force ;)_\n\nرابط تسجيل الدخول : http://127.0.0.1/login.php\n\n_ملاحظة: سيختلف الرابط في حال تثبيت DVWA في مسار مختلف._\n\n- - -\n\n## حاوية Docker\n\n- يمكنك زيارة [dockerhub صفحة](https://hub.docker.com/r/vulnerables/web-dvwa/)\n`docker run --rm -it -p 80:80 vulnerables/web-dvwa`\n\nيرجى التأكد من أنك تستخدم aufs بسبب مشاكل MySQL السابقة. نفذ الأمر `docker info` للتحقق من storage driver. إذا لم يكن aufs ، يرجى تغييره على هذا النحو. هناك أدلة لكل نظام تشغيل حول كيفية القيام بذلك ، لكنها مختلفة تمامًا لذا لن نغطي ذلك هنا.\n\n- - -\n\n## استكشاف الأخطاء وإصلاحها\n\nيفترض هذا أنك تستخدم توزيعة قائمة على Debian ، كـ Debian و Ubuntu و Kali. بالنسبة إلى التوزيعات الأخرى ، اتبع ذلك ، ولكن قم بتعديل الأمر عند الضرورة.\n\n### الحصول على استجابة 404 عند تصفح الموقع\n\nإذا كنت تواجه هذه المشكلة ، فأنت بحاجة إلى فهم مواقع الملفات. بشكل افتراضي ، جذر مستندات Apache (Apache document root  هو المكان الذي يبدأ فيه البحث عن محتوى الويب) هو  `/var/www/html/` إذا وضعت الملف `hello.txt` في هذا المجلد، يمكن الوصول إليه بطلب `http://localhost/hello.txt` من المتصفح.\n\nإذا أنشأت مجلد ووضعت الملف فيه - `/var/www/html/mydir/hello.txt` فيمكنك الوصول إلى الملف من الخلال المتصفح بزيارة `http://localhost/mydir/hello.txt`.\n\nيعتبر Linux بشكل افتراضي حساسًا لحالة الأحرف ، وبالتالي في المثال أعلاه ، إذا حاولت التصفح للوصول إلى أي من الروابط التالية، فستحصل على  `404 Not Found`:\n\n- `http://localhost/MyDir/hello.txt`\n- `http://localhost/mydir/Hello.txt`\n- `http://localhost/MYDIR/hello.txt`\n\nكيف يؤثر ذلك على DVWA؟ يستخدم معظم الأشخاص git للتحقق من DVWA في `/var/www/html` ، وهذا يمنحهم الدليل `/var/www/html/DVWA/` متضمنة جميع ملفات DVWA بداخله. ثم يقومون بطلب الرابط `http://localhost/`من المتصفح ويحصلون على 404 أو الصفحة الافتراضية في Apache. نظرًا لأن الملفات موجودة في مجلد DVWA ، يجب طلب `http://localhost/DVWA`.\n\nالخطأ الشائع الآخر هو طلب الرابط `http://localhost/dvwa`  والذي سيعطي` 404` لأن `dvwa` ليس` DVWA` بسبب حساسية الأحرف في  Linux.\n\nلذلك بعد الإعداد ، إذا حاولت زيارة الموقع والحصول على \"404\" ، ففكر في المكان الذي قمت بتثبيت الملفات فيه ، وأين ترتبط بالمسار الأساسي ، وما هو اسم المجلد  الذي استخدمته.\n\n\n### مشكلة \"Access denied\"\n\nإذا رأيت ما يلي عند تشغيل البرنامج النصي للإعداد setup script ، فهذا يعني أن اسم المستخدم أو كلمة المرور في ملف التكوين لا يتطابقان مع تلك التي تم تكوينها في قاعدة البيانات:\n\n```\nDatabase Error #1045: Access denied for user 'notdvwa'@'localhost' (using password: YES).\n```\n\nيخبرك الخطأ أن اسم المستخدم هو `notdvwa`.\n\nيشير الخطأ التالي إلى أنك وجهت ملف التكوين إلى قاعدة البيانات الخاطئة.\n\n```\nSQL: Access denied for user 'dvwa'@'localhost' to database 'notdvwa'\n```\n\nرسالة الخطأ توضح أنك تستخدم المستخدم `dvwa` وتحاول الاتصال بقاعدة البيانات `notdvwa`.\n\nأول ما يجب القيام به هو التحقق مرة أخرى مما تعتقد أنك قد وضعته في ملف التكوين صحيح ومطابق للبيانات الفعلية.\n\nإذا كان يتطابق مع ما تتوقعه ، فإن الشيء التالي الذي يجب فعله هو التحقق من أنه يمكنك تسجيل الدخول كمستخدم في محرر الأوامر command line. بافتراض أن لديك مستخدم قاعدة بيانات لـ `dvwa` وكلمة مرور هي `p@ssw0rd`، قم بتنفيذ الأمر التالي:\n\n```\nmysql -u dvwa -pp@ssw0rd -D dvwa\n```\n\n*ملاحظة: لا يوجد مسافة بعد  -p*\n\nإذا ظهر الخرج التالي، فكلمة المرور صحيحة:\n\n```\nWelcome to the MariaDB monitor.  Commands end with ; or \\g.\nYour MariaDB connection id is 14\nServer version: 10.3.22-MariaDB-0ubuntu0.19.10.1 Ubuntu 19.10\n\nCopyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.\n\nType 'help;' or '\\h' for help. Type '\\c' to clear the current input statement.\n\nMariaDB [dvwa]\u003e\n```\n\nنظرًا لأنه يمكنك الاتصال في سطر الأوامر ، فمن المحتمل أن يكون هناك خطأ ما في ملف التكوين ، تحقق مرة أخرى من ذلك ثم قم بإنشاء تذكرة للمشكلة إذا كنت لا تزال غير قادر على التشغيل.\nإذا رأيت ما يلي ، فإن اسم المستخدم أو كلمة المرور التي تستخدمها غير صحيحة. كرر خطوات [إعداد قاعدة البيانات](#إعداد-قاعدة-البيانات) وتأكد من استخدام اسم المستخدم وكلمة المرور نفسهما طوال العملية.\n\n```\nERROR 1045 (28000): Access denied for user 'dvwa'@'localhost' (using password: YES)\n```\n\nإذا حصلت على ما يلي ، فإن بيانات الدخول صحيحة ولكن ليس لدى المستخدم حق الوصول إلى قاعدة البيانات. مرة أخرى ، كرر خطوات الإعداد وتحقق من اسم قاعدة البيانات التي تستخدمها.\n```\nERROR 1044 (42000): Access denied for user 'dvwa'@'localhost' to database 'dvwa'\n```\n\nالخطأ النهائي  الذي يمكن أن تحصل عليه هو :\n\n```\nERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)\n```\n\nهذه ليست مشكلة مصادقة ولكنها تخبرك أن خادم قاعدة البيانات لا يعمل. يمكنك تشغيله بتنفيذ الأمر التالي\n\n```sh\nsudo service mysql start\n```\n\n### مشكلة Unknown authentication method\n\nمع أحدث إصدارات MySQL ، لم يعد بإمكان PHP الاتصال بقاعدة البيانات في تكوينها الافتراضي. إذا حاولت تشغيل البرنامج النصي للإعداد setup script وتلقيت الرسالة الjالية ، فهذا يعني أنه عليك إجراء بعض التعديلات على التكوين.\n```\nDatabase Error #2054: The server requested authentication method unknown to the client.\n```\n\nلديك خياران ، أسهلهما هو إلغاء تثبيت MySQL وتثبيت MariaDB. تجد في الرابط التالي الدليل الرسمي لمشروع MariaDB:\n\n\u003chttps://mariadb.com/resources/blog/how-to-migrate-from-mysql-to-mariadb-on-linux-in-five-steps/\u003e\n\nبدلاً من ذلك، اتبع الخطوات التالية:\n\n1- باستخدام الحساب root، عدل الملف التالي: `/etc/mysql/mysql.conf.d/mysqld.cnf`.\n\n2- أضف ما يلي تحت لاسطر `[mysqld]`:\n  `default-authentication-plugin=mysql_native_password`\n  \n3- أعد تشغيل خدمة قواعد البيانات: `sudo service mysql restart`.\n\n4- تخقق من طريقة المصادقة الخاصة بحساب قاعدة البيانات:\n\n\n    ```sql\n    mysql\u003e select Host,User, plugin from mysql.user where mysql.user.User = 'dvwa';\n    +-----------+------------------+-----------------------+\n    | Host      | User             | plugin                |\n    +-----------+------------------+-----------------------+\n    | localhost | dvwa             | caching_sha2_password |\n    +-----------+------------------+-----------------------+\n    1 rows in set (0.00 sec)\n    ```\n\n\n5- من المرجح أنها `caching_sha2_password`، إذا كان كذلك، نفذ ما يلي:\n\n    ```sql\n    mysql\u003e ALTER USER dvwa@localhost IDENTIFIED WITH mysql_native_password BY 'p@ssw0rd';\n    ```\n\n\n6- تحقق مجدداً، يجب أن تصبح الآن `mysql_native_password` .\n\n    ```sql\n    mysql\u003e select Host,User, plugin from mysql.user where mysql.user.User = 'dvwa';\n    +-----------+------+-----------------------+\n    | Host      | User | plugin                |\n    +-----------+------+-----------------------+\n    | localhost | dvwa | mysql_native_password |\n    +-----------+------+-----------------------+\n    1 row in set (0.00 sec)\n    ```\n\nبعد كل ما سبق، يجب أن تعمل عملية الإعدد بحالتها الطبيعية.\n\nإذا كنت تريد المزيد من المعلومات يرجى الاطلاع على:  \u003chttps://www.php.net/manual/en/mysqli.requirements.php\u003e.\n\n### مشكلة Database Error #2002: No such file or directory.\n\nإذا كان خادم قاعدة البيانات لا يعمل. وكنت تسخدم توزيعة مبنية على Debian، يمكن القيام بذلك باستخدام:\n\n```sh\nsudo service mysql start\n```\n\n### معالجة الأخطاء  \"MySQL server has gone away\" و  \"Packets out of order\"\n\nهناك عدة أسباب لحدوث هذه الأخطاء ، ولكن السبب المرجح هو عدم توافق إصدار خادم قاعدة البيانات مع إصار PHP.\n\nوهو الأكثر شيوعًا عند تشغيل أحدث إصدار من MySQL و PHP ، لا يعمل التطبيق بشكل جيد. ولذلك ننصح باستبدال MySQL  بـ MariaDB  لأن هذه المشكلة لا يوجد دعم لها في الوقت الحالي.\n\nلمزيد من المعلومات، يرجى الاطلاع على:\n\n\u003chttps://www.ryadel.com/en/fix-mysql-server-gone-away-packets-order-similar-mysql-related-errors/\u003e\n\n### لا يعمل حقن SQL باستخدام  PHP v5.2.6\n\nتوقف دعم PHP 5.x منذ يناير 2019 ، لذلك نوصي بتشغيل DVWA بإصدار 7.x الحالي ، إذا كنت مضطراً لاستخدام الإصدار 5.x ..\n\nإذا كنت تستخدم إصدار PHP v5.2.6 أو أحدث ، فستحتاج إلى القيام بما يلي حتى يعمل حقن SQL والثغرات الأمنية الأخرى.\n\nاستبدل الآتي في ملف `htaccess.`:\n\n```php\n\u003cIfModule mod_php5.c\u003e\n    php_flag magic_quotes_gpc off\n    #php_flag allow_url_fopen on\n    #php_flag allow_url_include on\n\u003c/IfModule\u003e\n```\n\nبهذا:\n\n```php\n\u003cIfModule mod_php5.c\u003e\n    magic_quotes_gpc = Off\n    allow_url_fopen = On\n    allow_url_include = On\n\u003c/IfModule\u003e\n```\n\n### فشل حقن الأوامر Command Injection\nقد لا يكون لدى Apache امتيازات عالية كافية لتنفيذ الأوامر على خادم الويب. إذا كنت تقوم بتشغيل DVWA على نظام Linux ، فتأكد من تسجيل الدخول كمستخدم root. أما في Windows  قم بتسجيل الدخول كـ administrator.\n\n### لماذا لا يمكن الاتصال بقاعدة البيانات في CentOS؟\n\nقد تواجه مشاكل مع SELinux، قم إما بتعطيل SELinux أو تشغيل هذا الأمر للسماح لخادم الويب بالتخاطب مع قاعدة البيانات:\n\n```\nsetsebool -P httpd_can_network_connect_db 1\n```\n\n### لأي مشكلة أخرى\n\nللحصول على أحدث معلومات استكشاف الأخطاء وإصلاحها ، يرجى قراءة كل من التذاكر المفتوحة والمغلقة في  الريبو  git repo:\n\n\u003chttps://github.com/digininja/DVWA/issues\u003e\n\nقبل إرسال التذكرة ، يرجى التأكد من تشغيل أحدث إصدار من الكود من الريبو. هذا ليس أحدث إصدار ، هذا هو أحدث كود من الفرع الرئيسي master branch . \n\nفي حالة إنشاء تذكرة ، يرجى تقديم المعلومات التالية على الأقل:\n\n- نظام التشغيل\n- آخر 5 أسطر من سجل أخطاء خادم الويب مباشرة بعد حدوث أي خطأ تقوم بالإبلاغ عنه\n- إذا كانت المشكلة تتعلق بمصادقة قاعدة البيانات ، فانتقل إلى الخطوات السابقة أعلاه وقم بتصوير كل خطوة. وأرسلها مع لقطة شاشة لقسم ملف التكوين الذي يظهر مستخدم قاعدة البيانات وكلمة المرور.\n- وصف كامل للخطأ الذي يحدث ، وما تتوقع حدوثه ، وما حاولت فعله لإصلاحه. \"تعطل تسجيل الدخول\" لا يكفي بالنسبة لنا لفهم مشكلتك والمساعدة في حلها.\n\n\n- - -\n\n## حقن SQL في SQLite3 \n\n_ الدعم لهذا الأمر محدود ، قبل طرح مشكلتك، يرجى التأكد من استعدادك للعمل على تصحيح الأخطاء ، ولا تكتب ببساطة \"أنه لا يعمل\" ._\n\nبشكل افتراضي ، يتم تنفيذ SQLi و Blind SQLi على خادم MariaDB / MySQL المستخدم في الموقع ولكن من الممكن التبديل لإجراء اختبار SQLi  على SQLite3 بدلاً من ذلك.\n\nلن نتطرق إلى كيفية تشغيل SQLite3 مع PHP ، ولكنها من المفترض أن تكون حالة بسيطة وذلك بتثبيت حزمة `php-sqlite3` والتأكد من تفعيلها.\n\nلإجراء هذا التبديل ، قم ببساطة بتعديل ملف التكوين وإضافة أو تعديل هذه الأسطر:\n\n```\n$_DVWA[\"SQLI_DB\"] = \"sqlite\";\n$_DVWA[\"SQLITE_DB\"] = \"sqli.db\";\n```\n\nبشكل افتراضي ، يستخدم الملف `database/sqli.db` ، إذا أحدثت خللا فيه، فما عليك سوى نسخ محتويات ملف `database/sqli.db.dist` ولصقها في الملف الذي تعمل عليه.\n\nالتحديات هي نفسها تمامًا مثل MySQL ، ولكنك الآن تنفذها في SQLite3  بدلاً من MySQL.\n\n- - -\n\n## روابط\n\nالصفحة الرئيسية للمشروع: \u003chttps://github.com/digininja/DVWA\u003e\n\n*تم إنشاؤها بواسطة فريقDVWA *\n","funding_links":["https://github.com/sponsors/digininja","https://digi.ninja"],"categories":["PHP","Uncategorized","web shell、shellcode","📚 Learning Resources","Intentionally Vulnerable Challenges","[↑](#-content) 📖 Learning","Dépôts"],"sub_categories":["Uncategorized","网络服务_其他","Beginner-Friendly Resources","[↑](#-content) 🕸️ Practice Webs","Sécurité"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdigininja%2FDVWA","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdigininja%2FDVWA","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdigininja%2FDVWA/lists"}