一种基于Servlet拦截器的安全防护方法技术

技术编号:32581909 阅读:40 留言:0更新日期:2022-03-09 17:13
本发明专利技术公开了一种基于Servlet拦截器的安全防护方法,其特征在于,包括:构建拦截器;配置服务器端获取访问上下文信息的对象;滥用检测指标项的累加计算及比对;基于用户名和访问时间生成解密密钥并返回浏览器端;比对用户输入的解禁密钥与拦截器中的解禁密钥;各拦截器拦截获取不同类型的请求数据,执行黑白名单校验;调用预设在拦截器中的攻击检测方法的组件,检测用户输入数据、系统输出数据中是否存在攻击数据。达到形成对不同级别安全问题的识别,和执行不同程度的监控处理,实现分级防控,不仅减少人力对漏洞问题的监测及处理,更重要的是提升了安全防控的覆盖面,最终提高防控效率的效果。率的效果。率的效果。

【技术实现步骤摘要】
一种基于Servlet拦截器的安全防护方法


[0001]本专利技术隶属于系统防御
,具体涉及一种基于Servlet拦截器的安全防护的方法。

技术介绍

[0002]JavaWeb技术诞生至今,互联网上已经含有海量的Java服务端网页,但是目前依然存在相当一部分网站是脆弱易受黑客侵入的。黑客等不法分子会利用网页中的元素、脚本和漏洞等威胁互联网和计算机安全。黑客入侵网站一方面会导致网站打不开,服务器宕机;另一方面则利用漏洞和薄弱点获取服务器权限。防范黑客攻击是个长期工作,而网页防御黑客入侵往往又需要资深的开发工程师耗费大量的时间设计一整套检测监控统计方法。
[0003]市面上已存在利用采用拦截器执行安全防护的方法,专利“一种基于拦截器实现java网络系统权限管理的方法”(申请号:201710704299.2)通过拦截器拦截发往服务器的请求,查询操作该用户的权限信息,实现用户权限的有效管理。专利“一种基于拦截器的浏览器报错的方法”(申请号:201010599823.2)获取浏览器的返回信息,拦截报错信息,使浏览器无法接收到访问服务器时返回本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于Servlet拦截器的安全防护方法,其特征在于,具体流程包括:步骤1:构建拦截器;具体是为不同的请求数据处理阶段构建Servlet拦截器,拦截获取不同类型的请求数据;所述请求数据的类型包含用户输入数据及系统输出数据;所述用户输入数据是从请求报文的请求行、请求头和请求体中获取的请求路径、请求资源的地址及请求参数的数据,所述输出数据是从响应报文中获取服务端输出至浏览器端的响应请求的数据;步骤2:配置服务器端获取访问上下文信息的对象;具体是配置从请求报文中采集请求地址和Cookie的访问信息;待获取所述访问信息后构建访问上下文信息的内容,包含请求地址、用户名、访问时间、访问间隔、访问频次;所述访问间隔是取同一用户本次访问与上一次访问的时间差;所述访问频次是取访问间隔内产生的请求访问网页地址的次数,包含访问同一个网页地址的次数及访问不同网页地址的次数;步骤3:滥用检测指标项的累加计算及比对;基于步骤2获得访问上下文信息和Cookie信息,以用户名为单位,累加计算滥用指标项的数值,所述滥用指标项的数值包括用户访问次数、用户访问频率、用户的资源请求数、用户开启会话数,将滥用检测指标的数值与预设的指标阈值比对,若滥用检测指标的数值全部小于预设的指标阈值,判定为通过滥用检测,执行步骤6;若用户访问次数、用户访问频率、用户的资源请求数的任一数值大于等于预设指标的阈值,判定为未通过滥用检测,生成访问受限事件,修改预设在拦截器内的会话封禁状态值为已封禁;执行步骤4;若用户开启会话数的数值大于等于预设指标的阈值,判定为未通过滥用检测,生成严重封禁事件,修改预设在拦截器内的用户封禁状态值为已封禁;步骤4:基于用户名和访问时间生成解密密钥并返回浏览器端:以访问时间生成访问时间戳;组合用户名和访问时间戳,并对组合内容执行哈希计算,形成哈希值;拼接用户名、访问时间戳与所述哈希值,形成解禁密钥;储存解禁密钥在拦截器中,并写入由拦截器动态生成的页面中,返回至浏览器端显示;步骤5:比对用户输入的解禁密钥与拦截器中的解禁密钥;经比对,若比对一致,判定通过滥用检测,修改预设在拦截器内的会话封禁状态值为解禁,同时将4个滥用检测指标的数值全部归0,执行步骤6;若比对不一致,后台统计的解禁密码错误次数的数值加1,继续获取用户输入的解禁密钥比对;若解禁密码错误次数超过预设阈值,生成严重封禁事件,修改拦截器内的用户封禁状态值为已封禁,终止用户访问;步骤6:各拦截器拦截获取不同类型的请求数据,执行黑白名单校验;处于不同请求处理阶段的拦截器提取预设在内部的黑白名单,对拦截获取的用户输入数据和系统输出数据执行黑白名单比对,针对用户输入数据,若所述数据中的请求路径、请求资源的地址及请求参数的任一数据存在于黑名单中,执行步骤7;若所述数据中的请求路径、请求资源的地址及请求参数均存在于黑名单中均存在于白名单中,将数据传至后台服务器;针对系统输出数据,若存在于拦截器的黑名单中,执行步骤7;若存在于拦截器的白名单中,将用系统输出数据传至浏览器端;步骤7:调用预设在拦截器中的攻击检测方法的组件,检测步骤6中的用户输入数据、系统输出数据中是否存在攻击数据;所述攻击数据是指未通过攻击检测方法的数据;经检测,若用户输入数据、系统输出数据通过攻击检测方法的检测,判定不存在攻击数据,将用户输入数据传至后台服务器,将系统输出数据传至浏览器端;若用户输入数据、系统输出数据未
通过任一攻击检测方法的检测,判定存在攻击数据,从用户输入数据中清除攻击数据后,生成数据清洗结果传至后台服务器,将系统输出数据清除攻击数据后,生成数据清洗结果传至浏览器端,同步将未通过检测的数据与数据清洗结果存入缓存中。2.如权利要求1所述的一种基于Servlet拦截器的安全防护方法,其特征在于,所述步骤1中构建Servlet拦截器具体为:对应请求路径接收、请求参数接收、文件上传参数接收、系统输出的4个数据处理阶段,分别构建请求体拦截器、请求参数拦截器、文件上传参数拦截器、输出表达式拦截器;所述步骤1中的用户输入数据包含从请求行中获取的请求路径、请求资源的地址,以及从请求体中获取的文件上传参数和请求参数,所述参数包括:网页表单内上传的文件数据、网页表单内填写的数据、以ajax技术传输的网页表单数据;所述步骤1中构建Servlet拦截器,具体是在Servlet拦截器的配置文件w...

【专利技术属性】
技术研发人员:袁霸汤传东
申请(专利权)人:焦点科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1