幽灵学院 - 菜鸟起航从这里开始!

幽灵学院 - 中国最权威的网络安全门户网站!

当前位置: > 技术文章 > 网站安全 >

ASP.NET下XSS跨站脚本攻击的过滤方法

做 WEB 开发当然要防止跨站脚本攻击了,尤其是开发BLOG、论坛、购物平台等可以让用户添加自定义内容的网站。有些开发者选择了将所有Html内容都过滤掉,但是这些不适合有些需要将自定义内容开放给用户的网站,比...

做 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程序调用。当然,这需要你有独立的服务器,是不行了。


 如果只想使用,则只WAR文件就可以了。

运行环境是TOMCAT 7,JDK 1.6。www.2cto.com

将War包复制到Tomcat安装目录下的webapps目录,然后启动Tomcat即可。

启动Tomcat后,会自动解压缩War包,如需更改过滤配置,可以修改Tomcat目录下的

webapps\XssFilter3\WEB-INF\conf\antisamy-config.xml

保存后,重启Tomcat即可生效。

 



以下是我封装好的 Java WebService 和 WAR 文件的下载地址:   http://www.2cto.com/soft/201211/35199.html   如果只想使用,则只下载WAR文件就可以了。   运行环境是TOMCAT 7,JDK 1.6。   将War包复制到Tomcat安装目录下的webapps目录,然后启动Tomcat即可。   启动Tomcat后,会自动解压缩War包,如需更改过滤配置,可以修改Tomcat目录下的   webapps\XssFilter3\WEB-INF\conf\antisamy-config.xml   保存后,重启Tomcat即可生效。   默认WebService地址是   http://[youserver]:[yourport]/XssFilter3/services/AntiSamyFilter   .net环境下得到wsdl的地址是   http://[youserver]:[yourport]/XssFilter3/services/AntiSamyFilter?wsdl (责任编辑:幽灵学院)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
用户名: 验证码: 点击我更换图片
栏目列表
推荐内容
1700055555@qq.com 工作日:9:00-21:00
周 六:9:00-18:00
  扫一扫关注幽灵学院