2015-04-08 40 views
0

在站點之一,我發現,在statemement文章:接受列表的方法解釋AntiXSS

的AntiXSS庫需要一個接受的列表法,而.NET框架需要阻止列表法。

請解釋一下請問這是什麼意思accepted-list approachblocked-list approach ???

回答

3

在安全的說法接受列表方法被稱爲一個 白名單方法; 已禁止列表方法被稱爲黑名單方法。

請參考此處的討論What is whitelist and blacklist data?或谷歌黑名單vs白名單。

Fiction from hollywood: 讓我們想象一下影響整個世界的病毒爆發(如生化危機電影中的生物病毒爆發)。你沒有受到感染,你一個人留下,你有預感,有一些人沒有像你一樣感染。病毒攻擊後,人們需要2-3小時才能意識到這種感染併成爲殭屍。你想建立一個安全的設施,以免被感染。在無線電通訊中,你聽說有些製藥公司已經發明瞭這種病毒的疫苗。

現在你必須建立一個周界安防系統,爲您的安全設施兩種方法:

  1. 不允許人是病毒感染的殭屍[但允許其他人] ==>黑名單的做法
  2. 只允許接種疫苗的人[否認其他人] ==>白名單的方式

講起這是一個更安全的approa CH。

  1. 不要讓被病毒感染的人,但允許其他人 當病毒感染需要2-3小時才能顯示出來,這種方法將失敗。有人受到病毒攻擊,尚未意識到感染,但會通過並感染安全設施。
  2. 只允許接種疫苗並拒絕其他人的人 接種疫苗的人不能感染,只允許接種疫苗。你不在乎人是否受到病毒感染或攻擊(並且還沒有意識到受感染),你否認它們。你只允許那些因爲相信疫苗而接種疫苗的人。這是一種更安全的方法,不是嗎?

讓我們把所有的跨站點腳本(XSS)的背景下

  1. 黑名單的做法:阻止所有標籤/串像< SCRIPT>,javascript中,SRC,對象,類,輸入,圖像,。更全面的名單 - https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet

    缺點:此黑名單過濾器將錯過新推出的HTML5標籤的漏洞像<視頻>,<圖片>等,因爲黑名單還不知道視頻圖片標籤可能會被濫用,誰知道可能會有更多的實例。 https://html5sec.org/

  2. 白名單的方法:只允許已知標籤是安全的,例如< P> < B> < I> <強> < UL> < LI>。

    優點:因爲你信任喜歡< P> < B>(就像他們接種疫苗),並拒絕一切標籤你比黑名單的方法更安全。其他一切都包含可能不安全的標籤以及您不關心的標籤。你所關心的只是已知的安全,而你只接受這一點。

白名單驗證通常超出標籤,其中也包括css類和javascript事件。如果不是Microsoft AntiXSS,請嘗試使用OWASP AntiSamy。

更多閱讀:

  1. Why use a whitelist for HTML sanitizing?
  2. https://kevtownsend.wordpress.com/2011/08/24/whitelisting-vs-blacklisting/
  3. What is whitelist and blacklist data?