在其中一个网站中,我发现文章中的状态:
AntiXSS库采用可接受列表方法,而.NET Framework采用阻止列表方法.
请解释一下这是什么意思accepted-list approach和blocked-list approach???
在安全说法中,接受列表方法被称为 白名单方法; 阻止列表方法称为黑名单方法.
来自好莱坞的小说:让我们想象一下病毒爆发(如生化危机电影中的生物病毒爆发)感染,影响了整个世界.你没有受到感染而且你一个人待着,你有一种预感,就是有些人没有像你一样被感染.病毒袭击后,一个人实现感染并成为僵尸需要2-3个小时.您希望建立一个安全的设施,以免被感染.在无线电通信中,您听说一些制药公司已经发明了针对该病毒的疫苗.
您现在有两种方法可以为您的安全设施构建周边安全系统:
让我们谈谈哪种方法更安全.
让我们将所有这些放在跨站点脚本(XSS)的上下文中
黑名单方法:阻止所有标签/字符串,如<script>,javascript,src,object,class,input,image,href.更全面的列表 - https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet
缺点:这个黑名单过滤器会错过新引入的html5标签中的漏洞,如<video>, <picture>等,因为黑名单还不知道视频和图片标签可能被滥用,谁知道可能会有更多实例.https://html5sec.org/
白名单方法:仅允许已知安全的标记,例如<p> <b> <i> <strong> <ul> <li>.
优点:您比黑名单方法更安全,因为您信任像<p> <b>这样的标签(就像它们接种疫苗一样)并拒绝其他一切.其他一切都包括潜在的不安全标签和您不关心的标签.所有你关心的是所谓的安全,你只接受这一点.
白名单验证通常超出标签,包括css类和javascript事件.如果不是Microsoft AntiXSS,请尝试OWASP AntiSamy.
更多内容:
| 归档时间: |
|
| 查看次数: |
1042 次 |
| 最近记录: |