Netsparker Standard怎么配置預定義的Web表單值
配置預定義的Web表單值
什么是Web表單?
許多Web應用程序都具有用于捕獲用戶數據的表單。表單通常用于創建新帳戶、簡訊注冊、密碼提醒、收貨地址詳細信息和其他類似頁面。他們要求Web應用程序訪問者輸入信息,例如電話號碼,電子郵件地址或信用卡號。
這些Web表單中的許多表單通常都有一些基本的檢查,因為某些字段可能是必填字段。例如,如果要求用戶輸入年齡,則如果用戶輸入非數字值(例如臭名昭著的asdf),則無法提交表單。這是Web表單的示例,由于用戶未填寫公司輸入字段,因此返回錯誤,這是必需的。

為什么Netsparker掃描儀需要遍歷Web表單?
要掃描Web應用程序中的漏洞,Netsparker Web安全掃描器需要識別其所有攻擊面。這意味著在爬網階段,它必須發現Web應用程序上的所有頁面。在此過程中,它需要成功提交發現的表單并遍歷它們以訪問通常僅在提交表單后才能訪問的頁面。
默認情況下,Netsparker能夠自動填充并提交具有預配置值的表單。您可以按照本文中的說明,在“ 掃描策略”的“ 表單值”部分中更改這些值或添加新值。
何時使用配置的表單值?
在Web安全掃描的爬網和攻擊階段都將使用這些配置的表單值。如果您想從攻擊中排除表單值,則可以通過從scan中排除Parameter來實現。
在Netsparker Web應用程序安全掃描程序中配置表單值

您可以在“掃描策略”中的“ 表單值”設置中添加新的預配置值或修改現有的值。如果使用的是Netsparker Standard,則可以從“ 啟動新網站或Web服務掃描”對話框或從“ 工具”下拉菜單中啟動掃描策略編輯器。
在大多數情況下,Netsparker Standard和Netsparker Enterprise聯機Web應用程序安全掃描程序中的默認預配置表單值集均可工作。但是,如果您的Web應用程序需要其他數據類型,則可以輕松配置掃描程序以在爬網Web表單時自動提交此類數據。

因此,例如,如果您的Web應用程序期望以Web表單的形式為您的企業提供唯一的值,例如Company Employee Number,則應在Form Values中配置此值。否則,Netsparker可能無法自動遍歷Web表單并識別Web應用程序上所有可能的攻擊面。
默認匹配所有值
條目#DEFAULT#是一個特殊名稱。該條目是一個包羅萬象的條目,這意味著在沒有其他值/類型匹配時使用。您不應刪除該條目。如果您希望修改它,請使用僅數字值,通常會繞過大多數檢查。
選項1:確定要添加的輸入參數
首先,您必須確定要添加的輸入參數。您可以手動執行操作,也可以使用Netsparker中的“ 從URL解析”功能,該功能會自動從Web表單中提取參數列表。

如何從Netsparker Standard中的Web表單中自動提取參數列表
- 打開Netsparker Standard。
- 在主頁選項卡中,單擊掃描策略。
- 導航到“ 掃描策略”中的“ 表單值” 設置,然后單擊“ 從URL解析”。
- 在URL占位符中輸入Web表單的 URL。
- 單擊解析。
- 掃描儀將自動檢索參數列表,其類型和值。
- 勾選您要添加的內容,然后點擊保存。
導入所有參數后,您還可以按照此過程的選項3中的說明修改參數。
選項2:從掃描會話文件導入表單值
您可以使用Netsparker中的“從Netsparker掃描會話導入”功能,該功能從先前的掃描會話中提取參數列表。這使您可以查看任何不正確的Form Value配置并進行修復。
如何在Netsparker Standard中的掃描會話文件中導入表單值
- 打開Netsparker Standard。
- 在主頁選項卡中,單擊掃描策略。
在“掃描策略編輯器”對話框中,導航至“ 表單值”,然后單擊“ 從掃描會話導入”。

- 顯示“選擇要導入的Netsparker掃描會話文件”對話框。
- 選擇Netsparker會話文件,然后單擊打開。
- 掃描程序將自動解析參數列表,包括名稱,類型,發送值和包含輸入的頁面。

在復選框列中,選中要添加的復選框,然后單擊確定。顯示導入的表單值。
如果需要,您可以通過編輯“發送值”字段來調整要用于后續掃描的值。
導入所有參數后,您還可以按照此過程的步驟3中的說明修改參數。
選項3:查找輸入參數的HTTP屬性值
關于如何找到輸入參數的HTTP屬性值,有兩個選項。您可以使用Netsparker自動檢索它們,也可以手動查找它們。這兩個過程將在下面說明。
添加Web表單參數列表
在配置預定義的表單值之前,您需要知道相關輸入的Name或Placeholder或Label屬性的值。對于此示例,我們將在表格中記錄“ 年齡”輸入字段的詳細信息。首先導航到Web表單,如果您使用的是Google Chrome瀏覽器,請右鍵單擊輸入字段,然后從菜單中選擇“ 檢查 ”,如下面的屏幕快照所示。

在這種情況下,我們可以使用name屬性的值,該屬性可以在瀏覽器的Developer Tools中看到,如下面的屏幕截圖所示。該參數沒有占位符或標簽屬性,但是如果有問題的參數具有它們,則您可以記錄和使用這些值中的任何一個。

或者,您也可以右鍵單擊頁面上的任意位置,然后選擇查看頁面源,以查看頁面源并手動搜索輸入的ID。
將新條目添加到Netsparker掃描儀的表單值中
在此示例中,我們將為ID AgeCheck的輸入配置表單值20。因此,在掃描儀中,我們應該配置以下內容:
名稱:年齡檢查
類型:(空)
模式:AgeCheck
對象:名稱
匹配:精確
價值:20
強制:(選中)
下面是Netsparker Enterprise中配置的新表單值的屏幕截圖。

一旦完成上述配置,每當Netsparker掃描器抓取一個具有名為AgeCheck的輸入字段的Web表單時,它將提交20作為值。這樣,它將成功遍歷Web表單并爬網僅在提交該表單后才能訪問的頁面。以下是所有設置的說明。
名稱:這是友好名稱,供您參考。它對掃描沒有任何影響。
類型:這是輸入的類型。如果將此保留為空,則掃描程序將提交與輸入類型無關的值。如果選擇特定的輸入類型,則如果“ 類型”或“ 模式”匹配,則Netsparker會將值提交給表單。
您也可以選擇“ 類型”而不指定任何模式,因此掃描儀會使用提供的值填充所有與所選“ 類型”匹配的輸入。例如,默認情況下,Netsparker掃描儀已配置以下輸入:
名稱:顏色
類型:顏色
模式:(空)
對象:名稱
匹配:正則表達式
值:#ffffff
在這種情況下,掃描儀Netsparker總會提交的值#FFFFFF每當它識別的輸入類型的顏色。
匹配:這是“ 樣式”字段的匹配類型,它有五個選項:
- RegEx:使用正則表達式匹配模式。例如,正則表達式[\ w \ d] * cc | credit_?card | card [\ w \ d] *將與配置的HTML屬性值中具有以下任何值的所有輸入字段匹配;抄送,credit_card,卡
如果您熟悉RegEx,這是最靈活的選項。您可以使用RegEx101之類的工具測試RegExes。
- 精確:模式值應與配置的HTML屬性值完全匹配。因此,如果名稱為AgeCheck,則模式應為AgeCheck,否則它將不匹配。
- 包含:指定的模式應該是配置的HTML屬性值的一部分。例; 如果Name屬性為AgeCheck,則模式可以為Age或Check。
- Starts:HTML屬性值應以指定的模式開頭。例; 如果名稱 HTML屬性的值是AgeCheck,則模式可以是Age,A或Ag。支票不符。
- 結尾:HTML屬性值應以輸入的模式結尾。例; 如果HTML屬性的值是AgeCheck,則模式可以是Check或eck。年齡不符。
模式:這是基于所選匹配項(RegEx,精確,包含,開始,結束)將與HTML屬性值匹配的值。如果屬性值包含非ASCII字符,請使用URL編碼名稱。
值:這是匹配成功后Netsparker將提交給輸入參數的值。
強制:啟用此選項后,即使參數已經填充了其他值,Netsparker仍將提交提供的值。因此,例如,如果Netsparker抓取默認值為10的表單,則默認情況下不會嘗試覆蓋它。盡管如果選中了Force選項,并且Type和Pattern匹配,Netsparker將提交提供的Value而不是10。
POST和GET參數的表單值
默認情況下,“ 表單值”設置僅適用于POST參數。如果要將相同的規則應用于GET參數,可以在Advanced Settings中將OnlyFillUpPost設置為True。

當此選項設置為True時,就像使用POST參數一樣,Netsparker掃描程序也將使用相同的規則來填充GET參數。
頁面上具有輸入的表單并不總是表示POST。檢查< form > 標記的method屬性,以查看它是POST還是GET。
Netsparker Standard 中文漢化使用教程
推薦文章: