2013-10-04 33 views
1

我有兩個關於強化的問題。如何抑制強化中的誤報

1 - 可以說我有一個Windows窗體應用程序,它要求用戶名爲 和密碼,並且密碼的文本框的名稱是 texboxPassword。因此,在設計器文件中,您有以下設計者生成的 。

// 
// texboxPassword 
// 
this.texboxPassword.Location = new System.Drawing.Point(16, 163); 
this.texboxPassword.Name = "texboxPassword"; 
this.texboxPassword.Size = new System.Drawing.Size(200, 73); 
this.texboxPassword.TabIndex = 3; 

Fortify的這標誌着在評論問題密碼。我如何通過創建自定義規則來抑制這一點?我不想壓制整個問題,因爲我仍然想要捕獲某些模式(例如密碼,後面跟着=或:註釋中的內容),但是在任何包含密碼的行被標記的地方都會產生太多的誤報。我研究了創建一個結構規則,但無法弄清楚如何刪除相關標籤(我在哪裏可以在評論中找到密碼標籤?)

2 - 比方說,我有一個自定義UI控件。這個控件html對所有內容進行編碼,並且在我的上下文中,它足以避免XSS。不用說,它正在被Fortify標記。當我在我的UI中有一個特定的控件類型時,如何抑制XSS,並且在我的上下文中它的所有方法對於XSS(它們是否消毒)都是安全的?我試過了一個DataflowCleanseRule(標籤只是爲了測試這個概念),並想將get_Text()和set_Text()標記爲消毒功能,但它沒有什麼區別,Fortify仍然標記爲XSS。

<DataflowCleanseRule formatVersion="3.16" language="dotnet"> 
       <RuleID>0D495522-BA81-440E-B191-48A67D9092BE</RuleID> 
       <TaintFlags>+VALIDATED_CROSS_SITE_SCRIPTING_REFLECTED,+VALIDATED_CROSS_SITE_SCRIPTING_PERSISTENT,+VALIDATED_CROSS_SITE_SCRIPTING_DOM,+VALIDATED_CROSS_SITE_SCRIPTING_POOR_VALIDATION</TaintFlags> 
       <FunctionIdentifier> 
        <NamespaceName> 
         <Pattern>System.Web.UI.WebControls</Pattern> 
        </NamespaceName> 
        <ClassName> 
         <Pattern>Label</Pattern> 
        </ClassName> 
        <FunctionName> 
         <Pattern>_Text</Pattern> 
        </FunctionName> 
        <ApplyTo implements="true" overrides="true" extends="true"/> 
       </FunctionIdentifier> 
       <OutArguments>return</OutArguments> 
      </DataflowCleanseRule> 

預先感謝您的幫助

回答

1
  1. 這是使用正則表達式解析。除非你認爲你能夠創建一個可以正確解析人類語言的正則表達式,否則我會放棄它,只是將其視爲不是問題。

  2. Pattern標籤在正文中使用了一個java正則表達式,所以應該使用user2867433提示。但是,你說

這個控制HTML編碼的一切,在我的背景下,這是不夠好,以避免XSS

如果你要使用自定義規則,這有承擔它可以在EVERY環境中工作,就像將來有人寫了一段使用get_Text的代碼,然後將其直接放入一段JavaScript中,HTML編碼在這裏將不會阻止XSS問題。我會再次建議審覈此問題,因爲所使用的驗證不是問題或誤報,並解釋爲什麼它在此情況下足夠好了

+0

謝謝您,我最終放棄了他們並審覈不是問題 – freud

0

在「模式」,您可以使用Java的正則表達式。所以它應該工作,如果你使用[gs] et_Text

+0

謝謝您的輸入 – freud