ASP.NET下XSS跨站脚本攻击的过滤方法
做WEB开发当然要防止跨站脚本攻击了,尤其是开发BLOG、论坛、购物平台等可以让用户添加自定义内容的网站。
有些开发者选择了将所有Html内容都过滤掉,但是这些不适合有些需要将自定义内容开放给用户的网站,比如淘宝、cnblogs、CSDN这样的网站。
在.net下也有一些Xss过滤工具,但是这些工具都会将HTML过滤的很彻底,比如会将:
<span style="color:red">文字</span>
过滤成
<span>文字</span>
而另外一些,虽然保留了很多元素,但是会有很多安全隐患,比如无法过滤这样的跨站脚本攻击:
<div style="background-image:url(alert(\'xss\'))">文字</div>
<img src="alert(\'xss too\')" />
在 .net 环境下,始终找不到成熟合适的 XSS 过滤工具。
后来在找到了基于java开发的AntiSamy,完全符合既保留用户输入HTML,又能保证安全的过滤工具。AntiSamy是基于白名单的技术,即只保留安全的内容,而且白名单可以让开发者进行配置。虽然AntiSamy也有.net版本,但是那是一个半成品,惨不忍睹。于是只好把Java下的AntiSamy封装成WebService,供.net程序调用。当然,这需要你有独立的服务器,虚拟主机是不行了。
本文来源:SecYe安全网[http://www.secye.com] (责任编辑:SecYe安全)
- ·Web渗透之手动漏洞挖掘
- ·SSRF漏洞(原理&绕过姿势)
- ·PHP反序列化漏洞与Webshell
- ·WAF开发之Cookie安全防护功能解析
- ·网络安全的第二道防线:区块链
- ·网络安全的第一道防线:AI
- ·Memcache UDP反射放大攻击技术分析
- ·任意用户密码重置(二):重置凭证接收端
- ·任意用户密码重置(三):用户混淆
- ·任意用户密码重置(四):重置凭证未校验
- ·任意用户密码重置(一):重置凭证泄漏
- ·Web安全学习:如何自我定位与制定学习计
- ·基于SonarQube的自动化代码缺陷检测:Web
- ·Web安全测试基础一
- ·某CMS注入分析及注入点总结
- ·如何系统学习 Web 前端技术?