簡體   English   中英

XSS-OWASP HTML Sanitizer過濾器<form>

[英]XSS - OWASP HTML Sanitizer Filters <form>

我正在使用Java OWASP HTML SanitizerHtmlPolicyBuilder )來清理由第三方服務提供的Web應用程序中呈現的HTML。

使用一些開箱即用的選項,我注意到<form>標記已刪除。 我知道我可以在allowElements("form")包含它們,但是是否有充分的理由不允許使用表單?

在網站上呈現其他人的表單時,我應該考慮什么樣的XSS攻擊?


供參考,我的消毒政策是:

new HtmlPolicyBuilder()
    .allowCommonBlockElements()
    .allowCommonInlineFormattingElements()
    .allowStyling()
    .allowStandardUrlProtocols()
    .toFactory()

網絡釣魚就是一個例子。 顯示用戶名/密碼形式,將操作參數指向攻擊者的Web服務器,並誘使用戶認為他們需要重新進行身份驗證。 同樣,如果用戶啟用了自動填充功能,則可以使用用戶名/密碼詳細信息自動填充表單。

正如肖恩(Sean)指出的那樣,某人可以成功地從您的用戶網上誘騙某些信息。 但是,僅使用那些固定方法即可添加更多信息,您將擁有相當有限的白名單,但這也許正是您想要的。

您允許的元素是:

“ b”,“ i”,“字體”,“ s”,“ u”,“ o”,“ sup”,“ sub”,“ ins”,“ del”,“ strong”,“ strike”,“ tt” “,”代碼“,”大“,”小“,” br“,”跨度“,” em“,” p“,” div“,” h1“,” h2“,” h3“,” h4“, “ h5”,“ h6”,“ ul”,“ ol”,“ li”,“ blockquote”。

allowStyling只允許全局使用style屬性。 allowStandardUrlProtocols允許在引用URL的任何地方使用“ http”,“ https”,“ mailto”協議的URL(a:href img:src q:cite等。),但無論如何您都不允許任何這些元素或屬性所以它實際上是沒有用的。

您可能想花時間在網上查看示例白名單(不僅僅是OJHS),以了解常用元素和屬性,以更好地開發白名單。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM