測試開發必備技能:安全測試漏洞靶場實戰

狂師發表於2021-03-11

安全在網際網路行業,是一個對專業性較強,且敏感的一個領域,所謂"一念成佛,一念入魔",安全技術利用得當,可以為你的產品、網站更好的保駕護航,而如果心術不正,利用安全漏洞去做一些未法牟利,則容易造成承擔不必要的違法責任。

在日常很容易被大家忽略的一點,在非授權的情況下,對網站進行滲透攻擊測試,也是屬於非合規操作,是觸及法律法規的。因此對於大家在學習安全測試過程中,通常建議是直接在本地直接搭建安全演練靶場環境,儘量避免直接對非授權的網站進行測試。

掌握安全測試是測試開發工程師進階的一項硬技能,今天這篇文章,就來給大家分享兩款常用安全測試演練靶場專案。

1. WebGoat

WebGoat是由OWASP組織研製出的用於進行Web漏洞實驗的Java靶場程式。提供的訓練課程有30多個,其中包括:跨站點指令碼攻擊(XSS)、訪問控制、執行緒安全、操作隱藏欄位、操縱引數、弱會話cookie、SQL盲注、數字型SQL隱碼攻擊、字串型SQL隱碼攻擊、web服務、Open Authentication失效、危險的HTML註釋等等。WebGoat提供了一系列web安全學習的教程,某些課程也給出了視訊演示,指導使用者利用這些漏洞進行攻擊。

專案地址:

https://github.com/WebGoat/WebGoat

1.1 安裝前置條件說明

進入到專案地址,選擇WebGoat的jar版本,由於WebGoat 8的jar檔案已自帶了tomcat和資料庫,所以不需要再另外安裝tomcat和mysql,只需要安裝jdk用於執行jar檔案即可。

需要說明的是,WebGoat8.0以上的版本,需要安裝依賴JDK11以上。

下載完成後,其中:

  • webgoat-server-8.1.0.jar 對應的是webgoat服務,用於啟動WebGoat
  • webwolf-8.1.0 另一個含有漏洞的輔助系統,非必需。

1.2 啟動方法

通過java -jar xxx.jar分別啟動webgoat和webwolf兩個jar程式,例如:

執行成功後,就可以通過連結http://127.0.0.1:8080/WebGoat訪問Webgoat。

首先需要注入一個賬號,然後登陸後,按照WebGoat的側邊順序一項一項進行測試。

目前WebGoat分為三類,LessonChallenges/CTFWebWolf
其中Lesson為課程,每個課程中包括漏洞描述,成因,以及練習,

WebWolf的啟動方式基本一致,WebWolf的預設埠為9090,登入地址http://127.0.0.1:9090/WebWolf/login,WebWolf的賬戶與WebGoat是相通的,使用WebGoat的賬戶可以直接登入WebWolf。

2. DVWA

DVWA(Damn Vulnerable Web Application)是一款比較著名的漏洞靶場,採用PHP+Mysql編寫的一套用於常規WEB漏洞教學和檢測的WEB脆弱性測試程式。包含了SQL隱碼攻擊、XSS、盲注等常見的一些安全漏洞。旨在為安全專業人員測試自己的專業技能和工具提供合法的環境,幫助web開發者更好的理解web應用安全防範的過程。

官網:

https://dvwa.co.uk/

DVWA共有十個模組,分別是:

  • 1.Brute Force(暴力(破解))
  • 2.Command Injection(命令列注入)
  • 3.CSRF(跨站請求偽造)
  • 4.File Inclusion(檔案包含)
  • 5.File Upload(檔案上傳)
  • 6.Insecure CAPTCHA (不安全的驗證碼)
  • 7.SQL Injection(SQL隱碼攻擊)
  • 8.SQL Injection(Blind)(SQL盲注)
  • 9.XSS(Reflected)(反射型跨站指令碼)
  • 10.XSS(Stored)(儲存型跨站指令碼)

2.1 搭建方法

如果是在Windows上搭建DVWA,安裝過程主要分為兩步:

  • phpstudy下載以及安裝。
  • DVWA下載及配置。

1、 由於DVWA需要執行在有資料庫/伺服器等多種環境下,我們一般選用整合了這些環境的phpStudy: https://www.xp.cn/,這個工具可以在官網下載,如下:

2、下載完成,按要求,傻瓜式安裝即可,安裝完成後,開啟啟動ApacheMySQL兩個服務。

3、下載DVWA,將壓縮包解壓到phpstudy的WWW目錄下。並且找到DVWA\config下面的config.ini.php.dist檔案,修改其中的使用者名稱密碼,按需修改即可。最後將字尾.dist刪除,檔名為:config.inc.php,內容如下:

<?php

# If you are having problems connecting to the MySQL database and all of the variables below are correct
# try changing the 'db_server' variable from localhost to 127.0.0.1. Fixes a problem due to sockets.
#   Thanks to @digininja for the fix.

# Database management system to use
$DBMS = 'MySQL';
#$DBMS = 'PGSQL'; // Currently disabled

# Database variables
#   WARNING: The database specified under db_database WILL BE ENTIRELY DELETED during setup.
#   Please use a database dedicated to DVWA.
#
# If you are using MariaDB then you cannot use root, you must use create a dedicated DVWA user.
#   See README.md for more information on this.
$_DVWA = array();
$_DVWA[ 'db_server' ]   = '127.0.0.1';
$_DVWA[ 'db_database' ] = 'dvwa';
$_DVWA[ 'db_user' ]     = 'root';
$_DVWA[ 'db_password' ] = '123456';
$_DVWA[ 'db_port'] = '3306';

$_DVWA[ 'allow_url_include'] = 'on';
$_DVWA[ 'allow_url_fopen'] = 'on';

# ReCAPTCHA settings
#   Used for the 'Insecure CAPTCHA' module
#   You'll need to generate your own keys at: https://www.google.com/recaptcha/admin
$_DVWA[ 'recaptcha_public_key' ]  = 'mikezhou';
$_DVWA[ 'recaptcha_private_key' ] = 'mikezhou';

# Default security level
#   Default value for the security level with each session.
#   The default is 'impossible'. You may wish to set this to either 'low', 'medium', 'high' or impossible'.
$_DVWA[ 'default_security_level' ] = 'impossible';

# Default PHPIDS status
#   PHPIDS status with each session.
#   The default is 'disabled'. You can set this to be either 'enabled' or 'disabled'.
$_DVWA[ 'default_phpids_level' ] = 'disabled';

# Verbose PHPIDS messages
#   Enabling this will show why the WAF blocked the request on the blocked request.
#   The default is 'disabled'. You can set this to be either 'true' or 'false'.
$_DVWA[ 'default_phpids_verbose' ] = 'false';

?>

4、訪問http://localhost/dvwa/setup.php,點選建立資料庫。
)

5、建立成功,會自動跳轉到登入頁面,需要輸入使用者名稱密碼。預設使用者名稱:admin ,預設密碼:password

到這裡,我們已經完成了,安全漏洞靶場環境的搭建。怎麼樣,你學會了嗎?

繁忙之餘,原創不易,如果你覺得文章還不錯,可點贊、轉發、關注 ,因為這將是持續輸出更多優質文章的最強動力!

相關文章