安全漏洞之XSS跨站脚本执行漏洞

本文详细介绍了XSS跨站脚本执行漏洞,描述了渗透测试中发现的问题,建议进行可靠的输入验证和内容转义,并提供了脆弱性评价及具体的处理步骤,包括修改web.xml配置和过滤器设置。

            XSS跨站脚本执行漏洞

漏洞描述

渗透测试人员发现,在实时营销策略管理中的策略编码和策略名称中填入<img src=x οnerrοr='alert(document.cookie)';>发现会显示cookie,抓包发现EVENT_ID,EVENT_NAME两个字段存在xss漏洞。

 

漏洞建议

对所有用户提交内容进行可靠的输入验证,包括对URL、查询关键字、HTTP头、REFERER、POST数据等,仅接受 指定长度范围内、采用适当格式、采用所预期的字符的内容提交,对其他的一律过滤。尽量采用POST 而非GET 提交表单;对"<",">",";","'","javascript","jscript","vbscript"等字符做过滤。

1.在HTML/XML中显示"用户可控数据"前,应该进行html escape转义。

2.在javascript内容中输出的"用户可控数据",需要做javascript escape转义。

3.对输出到富文本中的"用户可控数据",做富文本安全过滤(允许用户输出HTML的情况)。

4.输出在url中的数据,做url安全输出。

 

脆弱性评价:

严重程度

 

 

 

处理过程:

配置说明:
问题描述:防止XSS跨站漏洞
改造:修改项目框架的web.xml文件,增加过滤器filter对请求进行拦截过滤;
检查lib目录下nanny-0.1.jar是否存在
部署完,需要重启项目

web.xml:

<filter>
		<filter-name>NXSSFilter</filter-name>
		<filter-class>com.linkage.nanny.filter.XSSFilter</filter-class>
		<init-param>
			<param-name>dealClasses</param-name>
			<param-value>com.linkage.nanny.server.impl.SimpMateMachine,com.linkage.nanny.server.impl.UrlForborbiddenMateMachine</param-value>
		</init-param>
		<init-param>
			<param-name>com.linkage.nanny.server.impl.SimpMateMachine</param-name>
			<param-value>script,delete,update,drop,truncate,create,select,alert</param-value>
		</init-param>
		<init-param>
			<param-name>com.linkage.nanny.server.impl.UrlForborbiddenMateMachine</param-name>
			<param-value>0x12,0x10,%0D,%0A,0x0d,0x0a,%0a,%0d,%0d0a,0x0d0a,0x13</param-value>

		</init-param>
		<init-param>
			<param-name>sessionName</param-name>
			<param-value>BSS_JSESSIONID</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>NXSSFilter</filter-name>
		<url-pattern>/salemanm/salemanm</url-pattern>
	</filter-mapping>


	<filter>
		<filter-name>XSSChecker</filter-name>
		<filter-class>org.redswallow.filter.RedSwallowFilter</filter-class>
		<init-param>
			<param-name>redswallow.filter.plugin.htmlescapechar.config.includeParamPatterns</param-name>
			<param-value>sp,service,staffId,STAFF_ID,cond_SERIAL_NUMBER</param-value>
		</init-param>
		<init-param>
			<param-name>redswallow.filter.charset</param-name>
			<param-value>GBK</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>XSSChecker</filter-name>
		<url-pattern>/salemanm/salemanm</url-pattern>
	</filter-mapping>
	<filter>
		<filter-name>XSSFilter</filter-name>
		<filter-class>com.linkage.nanny.filter.XSSFilter</filter-class>
		<init-param>
			<param-name>dealClasses</param-name>
			<param-value>com.linkage.nanny.server.impl.SimpMateMachine</param-value>
		</init-param>
		<init-param>
			<param-name>com.linkage.nanny.server.impl.SimpMateMachine</param-name>
			<param-value>script,alert,|,;,$,%,@,',",\',\",(),+,CR,LF,\</param-value>
		</init-param>
		<init-param>
			<param-name>whitelist</param-name>
			<param-value>ajaxDirect,ajax</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>XSSFilter</filter-name>
		<url-pattern>/salemanm/salemanm</url-pattern>
	</filter-mapping>

jar包:

https://download.csdn.net/download/zhen_hero/12276044

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值