cwe - 105: Struts表单字段验证器
视图定制的信息:
省略验证甚至一个单一的输入字段可能给攻击者他们需要妥协的余地产品。尽管J2EE应用程序通常不容易记忆腐败的攻击,如果一个J2EE应用程序接口与本地代码不执行数组边界检查,攻击者可以在J2EE应用程序中使用一个输入验证错误推出一个缓冲区溢出攻击。
![]() ![]()
![]() ![]()
![]()
![]()
示例1 下面的示例Java类RegistrationForm是Struts框架的ActionForm Bean将从注册网页维护用户输入数据的在线业务的网站。用户将进入注册数据,通过Struts框架,RegistrationForm bean将维护用户数据的表单字段使用私有成员变量。RegistrationForm类使用Struts验证功能,扩展ValidatorForm类,包括验证表单字段验证器中的XML文件,validator.xml。
(结果)
公共类RegistrationForm org.apache.struts.validator延伸。ValidatorForm {
/ /私有变量登记表 私人字符串名称; 私人字符串地址; 私人的字符串; 私人弦状态; 私人字符串zipcode; 私人字符串电话; 私人字符串邮件; 公共RegistrationForm () {
超级(); }/ /私有变量的getter和setter方法 … 验证器的XML文件,验证器。xml, provides the validation for the form fields of the RegistrationForm.
(坏的代码)
例如语言:XML
<表单验证>
<形态层组> < /表单验证>
<表单名称= " RegistrationForm " > < /形态层组>
<字段属性=“name”取决于= "需要" > > < /形式
<参数位置=“0”键= " prompt.name " / > < /字段><字段属性=“地址”取决于= "需要" >
<参数位置=“0”键= " prompt.address " / > < /字段><字段属性= "城市"取决于= "需要" >
<参数位置=“0”键= " prompt.city " / > < /字段><字段属性=“状态”取决于= "要求,面具”>
<参数位置=“0”键= " prompt.state " / > < /字段>< var >
< var-name > < / var-name >面具 < / var >< var-value > [a-zA-Z] {2} < / var-value > <字段属性= " zipcode "取决于= "要求,面具”>
<参数位置=“0”键= " prompt.zipcode " / > < /字段>< var >
< var-name > < / var-name >面具 < / var >< var-value > \ d {5} < / var-value > 然而,在前面的例子验证器XML文件,验证器。xml, does not provide validators for all of the form fields in the RegistrationForm. Validator forms are only provided for the first five of the seven form fields. The validator XML file should contain validator forms for all of the form fields for a Struts ActionForm bean. The following validator.xml file for the RegistrationForm class contains validator forms for all of the form fields.
(好的代码)
例如语言:XML
<表单验证>
<形态层组> < /表单验证>
<表单名称= " RegistrationForm " > < /形态层组>
<字段属性=“name”取决于= "需要" > > < /形式
<参数位置=“0”键= " prompt.name " / > < /字段><字段属性=“地址”取决于= "需要" >
<参数位置=“0”键= " prompt.address " / > < /字段><字段属性= "城市"取决于= "需要" >
<参数位置=“0”键= " prompt.city " / > < /字段><字段属性=“状态”取决于= "要求,面具”>
<参数位置=“0”键= " prompt.state " / > < /字段>< var >
< var-name > < / var-name >面具 < / var >< var-value > [a-zA-Z] {2} < / var-value > <字段属性= " zipcode "取决于= "要求,面具”>
<参数位置=“0”键= " prompt.zipcode " / > < /字段>< var >
< var-name > < / var-name >面具 < / var >< var-value > \ d {5} < / var-value > <字段属性= "电话"取决于= "要求,面具”>
<参数位置=“0”键= " prompt.phone " / > < /字段>< var >
< var-name > < / var-name >面具 < / var >< var-value > ^ ([0 - 9] {3}) (-) ([0 - 9] {4} | [0 - 9] {4}) < / var-value >美元 <字段属性= "电子邮件"取决于= "要求,电子邮件" >
<参数位置=“0”键= " prompt.email " / > < /字段>![]()
更多的信息是可用的,请选择一个不同的过滤器。
|
使用常见的弱点枚举(CWE)和相关的引用从这个网站的使用条款。CWE赞助的美国国土安全部(DHS)网络和基础设施安全机构(CISA)和管理的国土安全系统工程和发展研究所这是由(HSSEDI)manbetx客户端首页(斜方)。版权©2006 - 2023,斜方公司。manbetx客户端首页CWE、水煤浆、CWRAF, CWE标志是斜方公司的商标。manbetx客户端首页 |