系列教程第二部分,使用 IBM Rational AppScan 掃描並修復第一部分構建的 Wealth Java Web 應用安全漏洞,涵蓋安裝授權、掃描配置、漏洞分析、代碼修復、二次驗證、報表生成全流程。
https://192.168.0.4:9080/Wealth/),AppScan 自動發現所有頁面| 風險級別 | 數量 | 典型漏洞 | 修復要點 |
|---|---|---|---|
| 高風險 | 8 | XSS (realestate.jsp 等)、Session Fixation (login.jsp)、SQL 注入 (zip 字段) | 輸入驗證(正則白名單)、登錄後 invalidate session 重建、參數化查詢/輸入過濾 |
| 中風險 | 3 | Database Error Pattern | 完善輸入檢查防注入 |
| 低風險 | 2 | Session Identifier Not Updated | 應用生成 Session ID |
| 資訊級 | 3 | JSP 註釋洩露敏感信息 | 移除 HTML 註釋,改用 JSP 註釋 <%-- --%> |
// login.jsp:防 Session Fixation + 輸入驗證
session.invalidate();
session = request.getSession(true);
session.setAttribute("userid", userid);
if (request.getMethod().equals("POST")) {
Pattern input = Pattern.compile("[a-zA-Z0-9]*");
Matcher m = input.matcher(userid);
boolean matchu = m.matches();
// ... 密碼同樣驗證
}
// realestate.jsp:防 XSS + SQL 注入
Pattern input = Pattern.compile("[a-zA-Z0-9\\p{Blank}]*");
// address、city、state、zip 分別驗證
// state: "[a-zA-Z][a-zA-Z]" zip: "[0-9]{5}"
清理測試數據後重新掃描,使用相同模板 WealthScan2。結果:所有已知漏洞修復,無新問題。
Mail-E-Vent.zip,直接導入 Extension Manager通過 Rational AppScan 系統化掃描、分析、修復、驗證、報告,Wealth 應用已安全上線。安全非一次性工作,需納入版本發布流程持續執行。