当我不指定任何内容时,强化发现的隐藏字段

时间:2019-09-25 15:37:01

标签: asp.net fortify

Fortify扫描显示我有隐藏字段。我没有在字段中指定隐藏属性,但是我确实使用了MaskedEditExtender。当响应返回到带有MaskedEditExtender的页面时,该字段上具有hidden属性。

<ajaxToolkit:MaskedEditValidator ID="MaskedEditValidator2" runat="server"
    ControlExtender="MaskedEditExtender2"
    ControlToValidate="txt_EndDate"
    IsValidEmpty="true"                                
    InvalidValueMessage="Date is invalid"                                
    Display="Dynamic"
    MaximumValue="01/01/2030"                                 
    MinimumValue="01/01/2000" 
    Font-Size="X-Small"/>

这是响应中返回的内容。您可以看到它具有hidden属性,Fortify对此表示抱怨:

<input name="ctl00$ContentPlaceHolder1$txt_EndDate" type="text"
id="ctl00_ContentPlaceHolder1_txt_EndDate" class="DateTextBox" AutoComplete="off" style="width:90px;" />
<input type="hidden"
name="ctl00$ContentPlaceHolder1$MaskedEditExtender2_ClientState"
id="ctl00_ContentPlaceHolder1_MaskedEditExtender2_ClientState" />

...

此外,__VIEWSTATEGENERATOR和__EVENTVALIDATION字段已设置为在响应中隐藏。这些也可以隐藏吗?

2 个答案:

答案 0 :(得分:0)

  

Fortify扫描显示我有隐藏字段

因此,由于要加强要诉求,我们需要将其全部删除?当然不是-
在许多情况下,出于多种原因需要隐藏的输入字段

即使您现在看到的此页面也具有隐藏的输入字段... 都很好。我并不是说要忽略此消息,而是要检查此输入字段是否由您提供,而不是来自任何攻击者。

相关答案
Clarification on __VIEWSTATE __EVENTVALIDATION __EVENTTARGET , __EVENTARGUMENT needed
CryptographicException: Padding is invalid and cannot be removed and Validation of viewstate MAC failed
Can malicious users modify viewstate?

答案 1 :(得分:0)

隐藏的字段必须经过验证,强化可能仍将其视为漏洞,但这是抑制的来源。