日期:2014-05-17  浏览次数:20696 次

SpringSecurity3.1.3带参数绕过权限验证攻击系统问题
我使有springsecurity3.1.3,但是SS对带参的URL拦截不起作用,以致只要在本来要求有ADMIN权限的请求后面带上一些参数,就能绕过验证,访问到系统的资源。如:
/a.jap   这个资源要ADMIN权限才能访问,但是,用户可以使用/a.jsp?name=aa就绕过SS的权限认证了,
这个问题怎么解决呢?
spring springsecurity java j2ee security

------解决方案--------------------
防盗链功能。过滤url吧
------解决方案--------------------
难道不是把用户的权限放进session里面?

------解决方案--------------------
不知道你的拦截器是怎么配置的

 <security:intercept-url pattern="/a.jap"  access="hasRole('ADMIN')" /> 

如果是上面那种方式,就该成下面这样

<security:intercept-url pattern="/a.jap*"  access="hasRole('ADMIN')" /> 
------解决方案--------------------
将url 放入数据库,通过url 取权限
------解决方案--------------------
 我觉得直接用个filter就可以搞定!(userid、roleid、sessionid,url,最好url编码一下等信息就可以搞定)
------解决方案--------------------
假设拦截/user下面的:

<security:intercept-url pattern="/user/**"  access="hasRole('ADMIN')" />