2017-02-07 44 views
-1

在我的Java Strut應用程序中,我使用OWASP庫3.1版來保護CSRF。 由於結構複雜,它讓我有多個腳本標記。它被添加到多個頁面上,有時一個頁面包含另一個頁面。將多個令牌注入表單

<script src="<%=request.getContextPath()%>/JavaScriptServlet"></script> 

我在Internet Explorer上遇到問題時,在同一頁上存在這個多個標記。如果它存在,那麼它會添加多個令牌來形成。我看到它時,在Internet Explorer檢查頁面

<FORM method=post name=myForm action=/myAction.do?OWASP_CSRFTOKEN=54AE-VJT1-2OZM-4CZV-LMQI-CUEV-BGL1-EQRI&amp;OWASP_CSRFTOKEN=54AE-VJT1-2OZM-4CZV-LMQI-CUEV-BGL1-EQRI&amp;OWASP_CSRFTOKEN=54AE-VJT1-2OZM-4CZV-LMQI-CUEV-BGL1-EQRI&amp;> 

而且它添加多個輸入與令牌

<INPUT type=hidden value=54AE-VJT1-2OZM-4CZV-LMQI-CUEV-BGL1-EQRI> 
<INPUT type=hidden value=54AE-VJT1-2OZM-4CZV-LMQI-CUEV-BGL1-EQRI> 
<INPUT type=hidden value=54AE-VJT1-2OZM-4CZV-LMQI-CUEV-BGL1-EQRI> 

已somebady過類似的問題?

回答

0

由於所有標記都相同,因此不應該擔心這些頁面的功能。你應該沒問題。

合併的唯一方法是給腳本一個ID並在再次聲明之前檢查它是否存在。

或者,您可以重構所有JSP,以便在任何情況下,某種「基本」jsp確保只插入一次。

如果您沒有看到令牌衝突(CSRFGuard拒絕的日誌),那麼您無需擔心。