界: Environment

本節包括原始程式碼之外的所有內容,但對於建立中產品的安全性仍至關重要。由於此領域所涵蓋的問題與原始程式碼沒有直接關係,因此我們將其與其他領域分開。

Struts Misconfiguration: Missing Form Bean Name

Abstract
不會使用沒有 name 屬性的 form-bean
Explanation
Struts 使用 form-bean 名稱進行 HTML 型式與動作的對應。如果 form-bean 沒有名稱,就無法對應至動作,這表示該項目為不必要的定義或是意外省略的 Bean。
此為正確的 Form-Bean 範例:
範例 1:以下 form-bean 有一項空的 name 屬性。

<form-beans>
<form-bean name="" type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="name" type="java.lang.String" />
<form-property name="password" type="java.lang.String" />
</form-bean>
</form-beans>
References
[1] Apache Struts 1.3 Specification
[2] Standards Mapping - OWASP Mobile 2014 M1 Weak Server Side Controls
[3] Standards Mapping - OWASP Top 10 2013 A5 Security Misconfiguration
[4] Standards Mapping - OWASP Top 10 2017 A6 Security Misconfiguration
[5] Standards Mapping - OWASP Top 10 2021 A05 Security Misconfiguration
desc.config.java.struts_misconfiguration_missing_form_bean_name