該死的易受攻擊的 Web 應用程式 (DVWA) 是一個非常容易受到攻擊的 PHP/MySQL Web 應用程式。其主要目標是幫助安全專業人員在合法環境中測試他們的技能和工具,幫助Web 開發人員更好地了解保護Web 應用程式安全的流程,並幫助學生和教師在受控課程中了解Web 應用程式安全性房間環境。
DVWA 的目標是透過簡單直覺的介面來練習一些最常見的 Web 漏洞(具有不同的難度等級) 。請注意,該軟體存在已記錄和未記錄的漏洞。這是故意的。我們鼓勵您嘗試並發現盡可能多的問題。
該死的脆弱 Web 應用程式非常脆弱!不要將其上傳到託管提供者的公共 html 資料夾或任何面向 Internet 的伺服器,因為它們會受到損害。建議使用虛擬機器(如VirtualBox或VMware),設定為NAT網路模式。在訪客電腦內,您可以下載並安裝用於 Web 伺服器和資料庫的 XAMPP。
我們對任何人使用此應用程式 (DVWA) 的方式不承擔任何責任。我們已明確該應用程式的用途,不得惡意使用。我們已發出警告並採取措施阻止使用者將 DVWA 安裝到即時 Web 伺服器上。如果您的網頁伺服器因安裝 DVWA 而受到損害,這不是我們的責任,而是上傳和安裝它的人員的責任。
該檔案是該死的易受攻擊的 Web 應用程式 (DVWA) 的一部分。
該死的易受攻擊的Web 應用程式(DVWA) 是免費軟體:您可以根據自由軟體基金會發布的GNU 通用公共授權的條款重新分發它和/或修改它,無論是授權的第3 版,還是(由您選擇)任何更高版本。
該死的易受攻擊的 Web 應用程式 (DVWA) 的發布是希望它有用,但沒有任何保證;甚至沒有適銷性或特定用途適用性的默示保證。 有關更多詳細信息,請參閱 GNU 通用公共許可證。
您應該已經收到一份 GNU 通用公共許可證以及該死的易受攻擊的 Web 應用程式 (DVWA)。 如果沒有,請參閱 https://www.gnu.org/licenses/。
該文件有多種語言版本:
阿拉伯語: ??????
中文:簡體中文
法語:Français
韓文: 한국어
波斯語: فר
波蘭語: Polski
葡萄牙語:Português
西班牙文:Español
土耳其語:Türkçe
印尼:印尼
越南語:越南語
如果您想貢獻翻譯,請提交 PR。但請注意,這並不意味著只需透過谷歌翻譯運行它並發送出去,那些將被拒絕。透過新增新的「README.xx.md」檔案來提交您的翻譯版本,其中 xx 是您所需語言的兩個字母代碼(基於 ISO 639-1)。
雖然 DVWA 有各種版本,但唯一受支援的版本是官方 GitHub 儲存庫中的最新來源。您可以從存儲庫克隆它:
git 克隆 https://github.com/digininja/DVWA.git
或下載檔案的 ZIP。
請注意,這不是官方的 DVWA 腳本,它是由 IamCarron 編寫的。創建該腳本需要做大量的工作,並且在創建該腳本時,它沒有執行任何惡意操作,但是建議您在系統上盲目運行該腳本之前檢查該腳本,以防萬一。請將任何錯誤報告給 IamCarron,而不是在這裡。
基於 Debian 的電腦上的 DVWA 自動設定腳本,包括 Kali、Ubuntu、Kubuntu、Linux Mint、Zorin OS...
注意:此腳本需要 root 權限,並且是為基於 Debian 的系統量身定制的。確保您以 root 使用者身分執行它。
作業系統:基於 Debian 的系統(Kali、Ubuntu、Kubuntu、Linux Mint、Zorin OS)
權限:以root使用者執行
這將下載 @IamCarron 編寫的安裝腳本並自動運行。如果我們不信任作者和腳本(就像我們審查時那樣),則不會將其包含在此處,但總有可能有人會作弊,因此,如果您覺得不安全,請在不審查的情況下運行其他人的程式碼自己下載,按照手動流程操作,下載後即可查看。
sudo bash -c "$(curl --fail --show-error --silent --location https://raw.githubusercontent.com/IamCarron/DVWA-Script/main/Install-DVWA.sh)"
下載腳本:
wget https://raw.githubusercontent.com/IamCarron/DVWA-Script/main/Install-DVWA.sh
使腳本可執行:
chmod +x 安裝-DVWA.sh
以 root 身分執行腳本:
sudo ./安裝-DVWA.sh
在 VirtualBox 中運行的 Kali 上安裝 DVWA
使用 XAMPP 在 Windows 上安裝 DVWA
在 Windows 10 上安裝該死的易受攻擊的 Web 應用程式 (DVWA)
如果您還沒有設定 Web 伺服器,安裝 DVWA 最簡單的方法是下載並安裝 XAMPP。
XAMPP 是一個非常容易安裝的 Apache 發行版,適用於 Linux、Solaris、Windows 和 Mac OS X。
該影片將引導您完成 Windows 的安裝過程,但其他作業系統的安裝過程應該類似。
感謝 hoang-himself 和 JGillam,對master
分支的每次提交都會導致建置 Docker 映像,並準備好從 GitHub 容器註冊表中拉取。
有關您所獲得內容的更多信息,您可以瀏覽預先建置的 Docker 映像。
先決條件:Docker 和 Docker Compose。
如果您使用 Docker Desktop,則這兩個都應該已經安裝。
如果您更喜歡 Linux 上的 Docker Engine,請務必遵循其安裝指南。
我們為最新的 Docker 版本提供支持,如上所示。如果您使用的是 Linux 和軟體包管理器附帶的 Docker 軟體包,它可能也可以工作,但只能盡力提供支援。
將 Docker 從套件管理器版本升級到上游需要卸載舊版本,如 Ubuntu、Fedora 和其他版本的手冊所示。您的 Docker 資料(容器、映像、磁碟區等)不應受到影響,但如果您確實遇到問題,請務必告訴 Docker 並同時使用搜尋引擎。
然後,開始:
執行docker version
和docker compose version
查看是否正確安裝了 Docker 和 Docker Compose。您應該能夠在輸出中看到它們的版本。
例如:
>>> docker version
Client:
[...]
Version: 23.0.5
[...]
Server: Docker Desktop 4.19.0 (106363)
Engine:
[...]
Version: 23.0.5
[...]
>>> docker compose version
Docker Compose version v2.17.3
如果您沒有看到任何內容或收到命令未找到錯誤,請依照先決條件設定 Docker 和 Docker Compose。
克隆或下載此儲存庫並解壓縮(請參閱下載)。
開啟您選擇的終端並將其工作目錄變更為該資料夾 ( DVWA
)。
運行docker compose up -d
。
DVWA 現已在http://localhost:4280
上提供。
請注意,為了在容器中運行 DVWA,Web 伺服器正在偵聽連接埠 4280,而不是通常的 80 連接埠。
如果您進行了本機變更並希望從本機建置項目,請前往compose.yml
並將pull_policy: always
變更為pull_policy: build
。
運行docker compose up -d
應該會觸發 Docker 從本機建置映像,無論註冊表中是否有可用的內容。
另請參閱: pull_policy
。
理想情況下,您應該使用最新的穩定版本的 PHP,因為這是該應用程式將開發和測試的版本。
不會為嘗試使用 PHP 5.x 的任何人提供支援。
低於 7.3 的版本存在會導致問題的已知問題,大多數應用程式都可以運行,但隨機情況可能無法運行。除非您有充分的理由使用這樣的舊版本,否則不會提供支援。
如果您使用基於 Debian 的 Linux 發行版,則需要安裝下列軟體套件(或其等效軟體套件) :
阿帕契2
libapache2-mod-php
mariadb 伺服器
mariadb 用戶端
php php-mysqli
php-gd
我建議在此之前進行更新,這樣您就可以確保獲得所有內容的最新版本。
易於更新 apt install -y apache2 mariadb-伺服器 mariadb-客戶端 php php-mysqli php-gd libapache2-mod-php
網站將使用 MySQL 而不是 MariaDB,但我們強烈推薦 MariaDB,因為它開箱即用,而您必須進行更改才能使 MySQL 正常運作。
DVWA 附帶了其設定檔的虛擬副本,您需要將其複製到位,然後進行適當的更改。在 Linux 上,假設您位於 DVWA 目錄中,可以如下完成此操作:
cp config/config.inc.php.dist config/config.inc.php
在 Windows 上,如果您隱藏檔案副檔名,這可能會有點困難,如果您對此不確定,這篇部落格文章對此進行了更多解釋:
如何讓 Windows 顯示檔案副檔名
您也可以使用環境變數來設定大多數設置,而不是修改設定檔。在 Docker 或 Kubernetes 部署中,這允許您修改配置而無需建立新的 Docker 映像。您將在 config/config.inc.php.dist 檔案中找到變數。
如果要將預設安全等級設為“低”,只需將以下行新增至 compose.yml 檔案:
環境: - DB_SERVER=資料庫 - DEFAULT_SECURITY_LEVEL=低
要設定資料庫,只需點擊主選單中的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(Kali中預設使用MariaDB),那麼您不能使用資料庫root用戶,您必須建立一個新的資料庫用戶。為此,請以 root 使用者身分連接到資料庫,然後使用以下命令:
MariaDB [(none)]> create database dvwa;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> create user dvwa@localhost identified by 'p@ssw0rd';
Query OK, 0 rows affected (0.01 sec)
MariaDB [(none)]> grant all on dvwa.* to dvwa@localhost;
Query OK, 0 rows affected (0.01 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
有些工具不能很好地支援身份驗證,因此不能與 DVWA 一起使用。為了解決這個問題,有一個配置選項可以停用身份驗證檢查。為此,只需在設定檔中設定以下內容:
$_DVWA[ 'disable_authentication' ] = true;
您還需要將安全等級設定為適合您想要執行的測試的安全等級:
$_DVWA[ 'default_security_level' ] = '低';
在此狀態下,您無需登入並設定任何cookie即可存取所有功能。
./hackable/uploads/
- 需要可由 Web 服務寫入(用於檔案上傳)。
在 Linux 系統上,可能在/etc/php/xx/fpm/php.ini
或/etc/php/xx/apache2/php.ini
找到。
允許遠端檔案包含 (RFI):
allow_url_include = on
[allow_url_include]
allow_url_fopen = on
[allow_url_fopen]
若要確保 PHP 顯示所有錯誤訊息:
display_errors = on
[顯示錯誤]
display_startup_errors = on
[顯示啟動錯誤]
確保在進行變更後重新啟動 php 服務或 Apache。
這僅是「不安全驗證碼」實驗室所必需的,如果您不使用該實驗室,則可以忽略此部分。
從 https://www.google.com/recaptcha/admin/create 產生了一對 API 金鑰。
然後將它們放入./config/config.inc.php
的以下部分:
$_DVWA[ 'recaptcha_public_key' ]
$_DVWA[ 'recaptcha_private_key' ]
預設使用者名稱 = admin
預設密碼= password
....很容易被暴力破解;)
登入網址:http://127.0.0.1/login.php
注意:如果您將 DVWA 安裝到不同的目錄中,情況將會有所不同。
這些假設您使用的是基於 Debian 的發行版,例如 Debian、Ubuntu 和 Kali。對於其他發行版,請遵循,但在適當的情況下更新命令。
如果您使用 Docker Desktop,則可以從圖形應用程式存取日誌。一些小細節可能會隨著新版本的變化而改變,但存取方法應該是相同的。
也可以從終端存取日誌。
開啟終端並將其工作目錄變更為 DVWA
顯示合併的日誌
docker 撰寫日誌
如果您想將日誌匯出到文件,例如dvwa.log
docker 撰寫日誌 > dvwa.log
預設情況下,我們不使用連接埠 80,原因如下:
某些使用者可能已經在連接埠 80 上執行某些內容。
某些使用者可能使用無根容器引擎(例如 Podman),且 80 是特權連接埠(< 1024)。需要額外的配置(例如設定net.ipv4.ip_unprivileged_port_start
),但您必須自行研究。
您可以透過更改compose.yml
檔案中的連接埠綁定來在不同連接埠上公開 DVWA。例如,您可以更改
連接埠: - 127.0.0.1:4280:80
到
連接埠: - 127.0.0.1:8806:80
現在可以透過http://localhost:8806
存取 DVWA。
如果您希望 DVWA 不僅可以從您自己的設備上獨佔訪問,而且還可以在您的本地網路上訪問(例如,因為您正在為車間設置測試機器),您可以從連接埠中刪除127.0.0.1:
映射(或將其替換為您的LAN IP)。這樣它將在所有可用設備上監聽。安全的預設設定應該始終是僅在本地環回設備上偵聽。畢竟,它是一個在您的電腦上運行的非常脆弱的 Web 應用程式。
當 Docker 啟動時,包含的compose.yml
檔案會自動執行 DVWA 及其資料庫。
若要停用此功能,您可以刪除或註解compose.yml
檔案中的restart: unless-stopped
行。
如果您想要暫時停用此行為,可以執行docker compose stop
,或使用 Docker Desktop,找到dvwa
並按一下「停止」。此外,您可以刪除容器,或執行docker compose down
。
在 Linux 系統上,Apache 預設產生兩個日誌文件, access.log
和error.log
,在基於 Debian 的系統上,這些文件通常位於/var/log/apache2/
中。
提交錯誤報告、問題或類似內容時,請至少包含每個文件的最後五行。在基於 Debian 的系統上,您可以像這樣獲得這些:
tail -n 5 /var/log/apache2/access.log /var/log/apache2/error.log
如果您遇到此問題,您需要了解文件位置。預設情況下,Apache 文檔根目錄(它開始尋找 Web 內容的位置)是/var/www/html
。如果將檔案hello.txt
放入此目錄中,請存取它,您將瀏覽至http://localhost/hello.txt
。
如果您建立了目錄並將檔案放入其中 - /var/www/html/mydir/hello.txt
- 那麼您將需要瀏覽至http://localhost/mydir/hello.txt
。
Linux 預設會區分大小寫,因此在上面的範例中,如果您嘗試瀏覽其中任何一個,您將收到404 Not Found
:
http://localhost/MyDir/hello.txt
http://localhost/mydir/Hello.txt
http://localhost/MYDIR/hello.txt
這對 DVWA 有何影響?大多數人使用 git 將 DVWA 克隆到/var/www/html
中,這為他們提供了目錄/var/www/html/DVWA/
其中包含所有 DVWA 檔案。然後,他們瀏覽到http://localhost/
並獲得404
或預設的 Apache 歡迎頁面。由於檔案位於 DVWA 中,因此您必須瀏覽至http://localhost/DVWA
。
另一個常見錯誤是瀏覽http://localhost/dvwa
這將給出404
因為就 Linux 目錄匹配而言, dvwa
不是DVWA
。
因此,安裝完成後,如果您嘗試訪問該網站並收到404
錯誤,請考慮您將文件安裝到了哪裡、它們相對於文檔根目錄的位置以及您使用的目錄的情況如何。
這通常是一個配置問題隱藏著另一個問題。預設情況下,PHP 不顯示錯誤,因此,如果您在設定過程中忘記開啟錯誤顯示,則任何其他問題(例如無法連接到資料庫)都會阻止應用程式加載,但會顯示訊息告訴您什麼錯誤的將被隱藏。
若要解決此問題,請確保您依照 PHP 配置中所述設定display_errors
和display_startup_errors
,然後重新啟動 Apache。
如果您在執行安裝腳本時看到以下內容,則表示設定檔中的使用者名稱或密碼與資料庫上配置的使用者名稱或密碼不符:
Database Error #1045: Access denied for user 'notdvwa'@'localhost' (using password: YES).
該錯誤告訴您您正在使用使用者名稱notdvwa
。
以下錯誤表示您將設定檔指向了錯誤的資料庫。
SQL: Access denied for user 'dvwa'@'localhost' to database 'notdvwa'
這表示您正在使用使用者dvwa
並嘗試連線到資料庫notdvwa
。
首先要做的就是仔細檢查您認為放入設定檔中的內容是否實際存在。
如果它符合您的預期,下一步要做的就是檢查您是否可以在命令列上以使用者身分登入。假設您的資料庫使用者為dvwa
,密碼為p@ssw0rd
,請執行以下指令:
mysql -u dvwa -pp@ssw0rd -D dvwa
注意:-p後面不能有空格
如果看到以下內容,則表示密碼正確:
Welcome to the MariaDB monitor. Commands end with ; or g.
Your MariaDB connection id is 14
Server version: 10.3.22-MariaDB-0ubuntu0.19.10.1 Ubuntu 19.10
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
MariaDB [dvwa]>
由於您可以在命令列上進行連接,因此設定檔中可能存在問題,請仔細檢查,如果仍然無法正常工作,請提出問題。
如果您看到以下內容,則表示您使用的使用者名稱或密碼錯誤。重複資料庫設定步驟,並確保在整個過程中使用相同的使用者名稱和密碼。
ERROR 1045 (28000): Access denied for user 'dvwa'@'localhost' (using password: YES)
如果您收到以下訊息,則使用者憑證正確,但使用者無權存取資料庫。再次重複設定步驟並檢查您正在使用的資料庫名稱。
ERROR 1044 (42000): Access denied for user 'dvwa'@'localhost' to database 'dvwa'
您可能得到的最終錯誤是這樣的:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
這不是身份驗證問題,而是告訴您資料庫伺服器未執行。從以下內容開始
sudo 服務 mysql 啟動
與此類似的錯誤:
Fatal error: Uncaught mysqli_sql_exception: Connection refused in /var/sites/dvwa/non-secure/htdocs/dvwa/includes/dvwaPage.inc.php:535
意味著您的資料庫伺服器未運作或您的設定檔中的 IP 位址錯誤。
檢查設定檔中的這一行以查看資料庫伺服器的預期位置:
$_DVWA[ 'db_server' ] = '127.0.0.1';
然後轉到該伺服器並檢查它是否正在運行。在 Linux 中,這可以透過以下方式完成:
systemctl 狀態 mariadb.service
你正在尋找這樣的東西,重要的是它說active (running)
。
● mariadb.service - MariaDB 10.5.19 資料庫伺服器 已載入:已載入(/lib/systemd/system/mariadb.service;已啟用;預設:已啟用) 活躍:自 2024 年 3 月 14 日星期四 16:04:25 GMT 起活躍(運行); 1 週 5 天前
如果它沒有運行,您可以透過以下方式啟動它:
sudo systemctl 停止 mariadb.service
記下sudo
並確保根據要求輸入 Linux 用戶密碼。
在 Windows 中,檢查 XAMPP 控制台中的狀態。
使用最新版本的 MySQL,PHP 無法再以預設配置與資料庫通訊。如果您嘗試執行安裝腳本並收到以下訊息,則表示您已進行設定。
Database Error #2054: The server requested authentication method unknown to the client.
你有兩個選擇,最簡單的就是解除安裝 MySQL 並安裝 MariaDB。以下是MariaDB專案的官方指南:
https://mariadb.com/resources/blog/how-to-migrate-from-mysql-to-mariadb-on-linux-in- Five-steps/
或者,請按照以下步驟操作:
以 root 身分編輯以下檔案: /etc/mysql/mysql.conf.d/mysqld.cnf
在[mysqld]
行下,新增以下內容: default-authentication-plugin=mysql_native_password
重啟資料庫: sudo service mysql restart
檢查資料庫使用者的身份驗證方法:
mysql> 從mysql.user 中選擇主機、使用者、插件,其中mysql.user.User = 'dvwa';+------------+----------- --- ----+------------------------+|主持人|用戶 |外掛 |+------------+----------------+---------------- - -------+|本地主機 | dvwa | caching_sha2_password |+------------+--------------------------------+- --------------- --------+1 行集合(0.00 秒)
您可能會看到caching_sha2_password
。如果這樣做,請執行以下命令:
mysql> 更改使用者 dvwa@localhost 透過 'p@ssw0rd' 辨識 mysql_native_password;
重新執行檢查,現在應該看到mysql_native_password
。
mysql> 從mysql.user 中選擇主機、使用者、插件,其中mysql.user.User = 'dvwa';+-----------+------+----- --- ----------------+|主持人|用戶 |插件 |+------------+------+------------------------+|本地主機 | dvwa | mysql_native_password |+------------+---------+------------------------ +集合中的1 行(0.00 秒)
完成所有這些之後,設定過程現在應該可以正常進行。
如果您想了解更多信息,請參閱以下頁面:https://www.php.net/manual/en/mysqli.requirements.php。
資料庫伺服器未運作。在基於 Debian 的發行版中,這可以透過以下方式完成:
sudo 服務 mysql 啟動
出現這些錯誤的原因有很多,但最有可能的是您執行的資料庫伺服器版本與 PHP 版本不相容。
當您將最新版本的 MySQL 作為 PHP 運行並且運行狀況不佳時,最常出現這種情況。最好的建議是,放棄 MySQL 並安裝 MariaDB,因為這不是我們可以支援的。
有關更多信息,請參閱:
https://www.ryadel.com/en/fix-mysql-server-gone-away-packets-order-similar-mysql-lated-errors/
Apache 可能沒有足夠高的權限來在 Web 伺服器上執行命令。如果您在 Linux 下執行 DVWA,請確保您以 root 身分登入。在 Windows 下以管理員身分登入。
您可能會遇到 SELinux 問題。 停用 SELinux 或執行以下命令以允許 Web 伺服器與資料庫通訊:
setebool -P httpd_can_network_connect_db 1
有關最新的故障排除信息,請閱讀 git 存儲庫中的開放式和封閉式票證:
https://github.com/digininja/DVWA/issues
在提交票證之前,請確保您正在執行儲存庫中的最新版本的程式碼。這不是最新版本,這是 master 分支的最新程式碼。
如果提票,請至少提交以下資訊:
作業系統
無論您報告的錯誤發生後,Web 伺服器錯誤日誌中的最後 5 行都會立即出現
如果是資料庫認證問題,請執行上述步驟並截圖每個步驟。提交這些內容以及顯示資料庫使用者和密碼的設定檔部分的螢幕截圖。
完整描述出了什麼問題、您預計會發生什麼以及您已嘗試採取哪些措施來解決問題。 「登入損壞」不足以讓我們了解您的問題並幫助解決它。
我將嘗試整理一些教程視頻,介紹一些漏洞,並展示如何檢測它們以及如何利用它們。以下是我迄今為止所做的:
尋找並利用反射 XSS
對此的支援是有限的,在提出問題之前,請確保您準備好進行調試,不要簡單地聲稱「它不起作用」。
預設情況下,SQLi 和 Blind SQLi 是針對網站使用的 MariaDB/MySQL 伺服器完成的,但也可以切換為針對 SQLite3 進行 SQLi 測試。
我不會介紹如何讓 SQLite3 與 PHP 一起工作,但這應該是安裝php-sqlite3
套件並確保其啟用的簡單情況。
要進行切換,只需編輯設定檔並新增或編輯以下行:
$_DVWA["SQLI_DB"] = "sqlite";$_DVWA["SQLITE_DB"] = "sqli.db";
預設情況下,它使用檔案database/sqli.db
,如果你搞砸了,只需將database/sqli.db.dist
複製到頂部即可。
挑戰與 MySQL 完全相同,只是針對 SQLite3 運作。
感謝您的所有貢獻並保持該項目的更新。
如果您有想法、某種改進或只是想合作,歡迎您貢獻並參與該項目,請隨時發送您的 PR。
簡而言之,請不要!
大約一年一次,有人會針對他們在應用程式中發現的漏洞提交一份報告,有些寫得很好,有時比我在付費筆測試報告中看到的更好,有些只是「你缺少標題,請付費”我」。
2023 年,當有人決定請求針對其中一個漏洞的 CVE 時,這一情況提升到了一個全新的水平,他們獲得了 CVE-2023-39848。隨之而來的是許多歡鬧,並且浪費了時間來糾正這個問題。
該應用程式存在漏洞,這是故意的。大多數是有詳細記錄的,您可以作為課程來學習,其他的是「隱藏」的,需要您自己找到。如果您確實想展示您尋找隱藏附加功能的技能,請撰寫部落格文章或創建視頻,因為可能有人有興趣了解它們以及您如何找到它們。如果您向我們發送鏈接,我們甚至可能將其包含在參考文獻中。
專案首頁:https://github.com/digininja/DVWA
由 DVWA 團隊創建