logo好方法网

SQL注入检测方法、装置、设备及计算机存储介质


技术摘要:
本发明涉及金融科技(Fintech)技术领域,并公开了一种SQL注入检测方法,该方法包括:将预设的非正常请求发送至待测试网站,以获取所述待测试网站反馈的响应页面,并基于所述响应页面确定所述待测试网站中是否存在WAF;若不存在WAF,则检测所述待测试网站的网络是否稳定  全部
背景技术:
随着计算机技术的发展,越来越多的技术(大数据、分布式、区块链Blockchain、人 工智能等)应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融 行业的安全性、实时性要求,也对SQL(Structured  Query  Language,结构化查询语言)注入 检测技术提出了更高的要求。目前是通过修改http(超文本传输协议)参数的值,如在参数 中添加某些能让数据库出错的语句,或者是将参数替换为某些能让数据库条件语句恒为真 的语句,然后在检测返回的数据包中是否存在SQL注入的,但是这种方法对部署了WAF(Web  Application  Firewall,网站应用级入侵防御系统)的战点无法进行有效的检测,漏报率 高。并且也只能针对返回的http相应包进行字符串匹配,误报率高,使得SQL注入检测的准 确率低。因此如何提高SQL注入检测的准确性成为了目前亟待解决的技术问题。
技术实现要素:
本发明的主要目的在于提出一种SQL注入检测方法、装置、设备及计算机存储介 质,旨在解决如何提高SQL注入检测的准确性的技术问题。 为实现上述目的,本发明提供一种SQL注入检测方法,所述SQL注入检测方法包括 如下步骤: 将预设的非正常请求发送至待测试网站,以获取所述待测试网站反馈的响应页 面,并基于所述响应页面确定所述待测试网站中是否存在WAF; 若不存在WAF,则检测所述待测试网站的网络是否稳定; 若稳定,则对所述非正常请求对应的正常请求进行过滤处理,检测经过过滤处理 的所述正常请求中是否存在动态参数; 若存在动态参数,则根据所述动态参数对所述待测试网站进行SQL注入检测。 可选地,所述根据所述动态参数对所述待测试网站进行SQL注入检测的步骤,包 括: 将所述动态参数发送至所述待测试网站,以获取所述待测试网站反馈的标准返回 值; 对所述动态参数进行修改,并将修改后的动态参数发送至所述待测试网站,以获 取所述待测试网站反馈的修改返回值,并检测所述标准返回值和所述修改返回值之间的相 似度是否小于预设值; 若所述相似度小于预设值,则确定所述待测试网站存在SQL注入。 可选地,所述所述检测所述标准返回值和所述修改返回值之间的相似度是否小于 预设值的步骤包括: 4 CN 111581637 A 说 明 书 2/12 页 检测所述待测试网站反馈修改返回值的延迟时间是否大于预设延迟时间; 若所述延迟时间大于预设延迟时间,则确定所述待测试网站存在SQL注入; 若所述延迟时间小于或等于预设延迟时间,则检测所述标准返回值和所述修改返 回值之间的相似度是否小于预设值。 可选地,所述基于所述响应页面确定所述待测试网站中是否存在WAF的步骤,包 括: 检测所述响应页面对应的响应时间是否大于预设响应时间; 若所述响应时间小于或等于预设响应时间,则确定所述非正常请求对应的正常请 求,并获取所述待测试网站基于所述正常请求反馈的原始页面,检测所述响应页面是否和 所述原始页面匹配; 若所述响应页面和所述原始页面不匹配,则确定所述待测试网站中不存在WAF。 可选地,所述检测所述响应页面对应的响应时间是否大于预设响应时间的步骤之 后,包括: 若所述响应时间大于所述预设响应时间,则确定所述待测试网站存在WAF,并根据 预设的绕过处理方式对所述WAF进行绕过处理,在所述绕过处理完成后,对所述待测试网站 进行SQL注入检测处理。 可选地,所述对所述非正常请求对应的正常请求进行过滤处理的步骤,包括: 确定所述非正常请求对应的正常请求,并获取所述待测试网站基于所述正常请求 反馈的原始页面,并检测所述原始页面和所述响应页面是否相同; 若所述原始页面和所述响应页面相同,则对所述正常请求中的参数进行替换,以 获取替换请求,并获取所述待测试网站基于所述替换请求反馈的替换页面,检测所述替换 页面和所述响应页面是否相同,其中,所述非正常请求和所述替换请求不相同; 若所述替换页面和响应页面相同,则确定对所述正常请求进行过滤处理。 可选地,检测经过过滤处理的所述正常请求中是否存在动态参数的步骤,包括: 获取经过过滤处理的所述正常请求中的所有参数,并依次对各所述参数进行遍 历,对当前遍历的当前参数进行修改,以获取修改请求,并将所述修改请求发送至所述待测 试网站,以获取所述待测试网站反馈的第一页面,并检测所述第一页面是否和所述原始页 面相同; 若不相同,则确定所述正常请求中存在动态参数,并将所述当前参数作为动态参 数,直至各所述参数遍历完成。 可选地,所述检测所述待测试网站的网络是否稳定的步骤,包括: 向所述待测试网站发送请求URL指令,并检测所述待测试网站的响应是否有返回 值; 若存在返回值,且所述返回值不是http错误,则确定所述待测试网站的网络稳定。 此外,为实现上述目的,本发明还提供一种SQL注入检测装置,所述SQL注入检测装 置包括: 获取模块,用于将预设的非正常请求发送至待测试网站,以获取所述待测试网站 反馈的响应页面,并基于所述响应页面确定所述待测试网站中是否存在WAF; 检测模块,用于若不存在WAF,则检测所述待测试网站的网络是否稳定; 5 CN 111581637 A 说 明 书 3/12 页 过滤模块,用于若稳定,则对所述非正常请求对应的正常请求进行过滤处理,检测 经过过滤处理的所述正常请求中是否存在动态参数; 注入检测模块,用于若存在动态参数,则根据所述动态参数对所述待测试网站进 行SQL注入检测。 此外,为实现上述目的,本发明还提供一种SQL注入检测设备,所述SQL注入检测设 备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的SQL注入检测程 序,所述SQL注入检测程序被所述处理器执行时实现如上所述的SQL注入检测方法的步骤。 此外,为实现上述目的,本发明还提供一种计算机存储介质,所述计算机存储介质 上存储有SQL注入检测程序,所述SQL注入检测程序被处理器执行时实现如上所述的SQL注 入检测方法的步骤。 本发明通过将预设的非正常请求发送至待测试网站,以获取所述待测试网站反馈 的响应页面,并基于所述响应页面确定所述待测试网站中是否存在WAF;若不存在WAF,则检 测所述待测试网站的网络是否稳定;若稳定,则对所述非正常请求对应的正常请求进行过 滤处理,检测经过过滤处理的所述正常请求中是否存在动态参数;若存在动态参数,则根据 所述动态参数对所述待测试网站进行SQL注入检测。通过将非正常请求发送至待测试网站, 并根据待测试网站反馈的响应页面确定待测试网站中是否存在WAF,从而避免了待测试网 站中由于WAF的存在,而导致SQL注入检测失效的现象发生,并在确定不存在WAF,切断网站 稳定时,对正常请求进行过滤处理,再根据正常请求中的动态参数对待测试网站进行SQL注 入检测,从而避免现有技术中进行SQL注入检测时只进行字符串匹配,导致误报率高的现象 发生。提高了SQL注入检测的准确性。 附图说明 图1是本发明实施例方案涉及的硬件运行环境的SQL注入检测设备结构示意图; 图2为本发明SQL注入检测方法第一实施例的流程示意图; 图3为本发明SQL注入检测装置的装置模块示意图; 图4为本发明SQL注入检测方法中检测WAF的流程示意图; 图5为本发明SQL注入检测方法中网络稳定性检测的流程示意图; 图6为本发明SQL注入检测方法中参数过滤的流程示意图; 图7为本发明SQL注入检测方法中页面相似度检测的示意图; 图8为本发明SQL注入检测方法中SQL注入检测的流程示意图。 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
下载此资料需消耗2积分,
分享到:
收藏