1.请求越权问题
出现原因:不同用户权限不同,访问不具备权限的页面或者功能时出现
解决方案:由于访问机制的特殊性,项目访问通过直接访问路径下的html,jsp,js,png,css以及requestMapping映射的访问后台都被当做请求,而项目最初的访问定义为拦截所有请求,所以需要在中单独做一些符合业务逻辑的请求判断作相应的处理。
1).判断session是否为空,是否含有用户信息。如果含有,判断该用户是否是第一次登陆, 判断含有的用户信息是否合法。
2).如果不含有session,或者getPathInfo()路径存在于白名单不作处理。
3).如果用户信息存在且访问路径不存在于白名单,经过越权过滤,根据用户信息判断用户是否拥有访问权限,拥有菜单权限即可拥有菜单下访问所有页面权限。没有权限的时候,当日志记录开启的时候,记录越权日志。并且重定向到越权验证错误页面。(冻结账号功能暂时不实现)
4)
出现原因:用户蓄意或无意输入
解决方案:前台验证特殊字符,后台验证参数值是否包含特殊字符
1).配置一个参数请求的
2).Filter中获取请求中的参数包括键和值,
3).遍历请求参数是否包含像script一类的数据,对其中一些不合条件的字符进行替换,换行空格替换之后形成新的uri地址,请求到新的重定向地址。(后续结合在xss在一个里面处理,不需要配置单独的)
3.Cross-Site Scripting: Reflected(xss漏洞检测)
出现原因:向web浏览器发送未经验证的数据导致浏览器执行恶意代码
解决方法:在适当的位置验证,检验属性
1).配置一个访问
2).配置一个开关,默认打开
3).根据getRequestURI()判断白名单,不需要进行过滤
4).获取所有路径参数验证是否符合要求,不符合提示返回
5).根据InputStream()获取post请求数据检测,不符合提示返回
其中,xssFi和hasSql判断是否含有sql关键字等特殊字符
4.Unreleased Resource: Streams(可能无法成功释放某项系统资源)
常见原因:1.错误状况,其他异常情况
2.未明确程序那一部分释放资源
解决方法:
spring framework rce漏洞复现不要依赖finalize()回收资源,内存过小时候才会使用。在finally代码段中释放资源
例:
5.Often Misused: File Upload(允许用户上传文件可能会让攻击者注入危险内容和恶意代码)
出现原因:允许用户上传文件可能会让攻击者注入危险内容或恶意代码
解决方案:检查文件名,扩展名,文件内容
1.前台页面对于上传文件格式验证,后缀验证
2.后台对于上传文件请求再做格式验证
3.对于已经前后台校验过的上传的地方,fortity扫描需要对于文件内容做验证,
对于内容验证暂时没有解决方案
6.Often Misused: Authentication(攻击者欺骗DNS条目)
暂时无方案
7.Null Dereference(该程序可能会间接引用一个null指针,从而引起null指针异常)
出现原因:违反一个或多个假设的情况下,间接引用初始化为null的对象。
解决方案:在引用可能为null的对象之前,仔细检查,在引用之前对对象进行null检查
例:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论