我在我的項目上運行了 Veracode 掃描,它在 HTTP 響應拆分下給了我 CWE ID 113 問題。我試圖通過那里的建議解決問題,但沒有奏效。例如try { String selNhid = req.getParameter("selNhid"); String redirectURL = "/nhwhoods?action=membersNH&selNhid="+selNhid; res.sendRedirect(req.getContextPath() + redirectURL); } catch (Exception e) { e.printStackTrace(); }上面的代碼來自文件之一。并報告在線顯示錯誤res.sendRedirect(req.getContextPath() + redirectURL);任何建議,如何解決問題?
3 回答

慕慕森
TA貢獻1856條經驗 獲得超17個贊
selNhid 缺少 URL 編碼。
String redirectURL = "/nhwhoods?action=membersNH&selNhid=" + URLEncoder.encode(selNhid, StandardCharsets.UTF_8);
以上假設您正在使用 UTF-8?,F在討厭的內容將被解除為 %XX 字節。

揚帆大魚
TA貢獻1799條經驗 獲得超9個贊
這可以使用 ESAPI 2.1.0.1 庫修復:
import org.owasp.esapi.ESAPI;
ESAPI.httpUtilities().setHeader(response, param, value);
ESAPI.httpUtilities().addCookie(response, cookie);

慕斯709654
TA貢獻1840條經驗 獲得超5個贊
就像錯誤消息所暗示的那樣,從 redirectURL 參數中刪除 CRLF 序列怎么樣?
一個簡單的.replaceAll("[\\r\\n]+", "")
應該做到這一點。
添加回答
舉報
0/150
提交
取消