[发明专利]一种报错型SQL注入的检测方法、代理服务器和存储介质有效
| 申请号: | 201710865971.6 | 申请日: | 2017-09-22 |
| 公开(公告)号: | CN107566392B | 公开(公告)日: | 2020-02-11 |
| 发明(设计)人: | 郭宝军 | 申请(专利权)人: | 北京知道创宇信息技术股份有限公司 |
| 主分类号: | H04L29/06 | 分类号: | H04L29/06 |
| 代理公司: | 11396 北京思睿峰知识产权代理有限公司 | 代理人: | 谢建云;赵爱军 |
| 地址: | 100102 北京市朝阳区阜*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 报错型 sql 注入 检测 方法 代理服务器 | ||
1.一种报错型SQL注入的检测方法,在代理服务器中执行,所述代理服务器中存储有第一模型库和第二模型库,所述第一模型库中包括多个第一模型,所述第一模型适于检测网络请求是否为报错型SQL注入请求,所述第二模型库中包括多个第二模型,所述第二模型适于检测网络响应是否为报错型SQL注入响应,所述方法包括:
接收客户端发送的网络请求,提取所述网络请求中的请求参数值,并将请求参数值与第一模型库进行第一匹配;
当第一匹配的结果为未匹配到第一模型库中的第一模型时,将该网络请求作为第一类型网络请求放行;
接收网络服务器根据第一类型网络请求所返回的网络响应,提取所述网络响应中的响应内容,并将响应内容与第二模型库进行第二匹配;
当第二匹配的结果为匹配到第二模型库中的第二模型时,对所述请求参数值进行建模得到第一模型,并将该第一模型添加到第一模型库中;以及
从网络响应中删除匹配到的响应内容后放行该网络响应,并将该网络响应对应的网络请求中的URL与匹配到的响应内容进行关联存储,作为存在报错型SQL注入漏洞的URL和对应的漏洞泄露信息。
2.如权利要求1所述的方法,其中,还包括:
当第二匹配的结果为未匹配到第二模型库中的第二模型时,放行该网络响应。
3.如权利要求1所述的方法,其中,还包括:
当第一匹配的结果为匹配到第一模型库中的第一模型时,将所述请求参数值与SQL执行引擎中的预定义语句拼接为SQL语句,执行该SQL语句,得到执行结果;
对执行结果进行建模得到第二模型,将该第二模型添加到第二模型库中,并将该网络请求作为第二类型网络请求放行。
4.如权利要求3所述的方法,其中,还包括;
接收网络服务器根据第二类型网络请求所返回的网络响应,提取所述网络响应中的响应内容,并将响应内容与第二模型库进行第三匹配;
当第三匹配的结果为匹配到第二模型库中的第二模型时,从网络响应中删除匹配到的响应内容后放行该网络响应,并将该网络响应对应的网络请求中的URL与匹配到的响应内容进行关联存储,作为存在报错型SQL注入漏洞的URL和对应的漏洞泄露信息。
5.如权利要求4所述的方法,其中,还包括:
当第三匹配结果为未匹配到第二模型库中的第二模型时,从第一模型库中删除在执行第一匹配时所匹配到的第一模型,并放行该网络响应。
6.如权利要求1所述的方法,其中,还包括:
对报错型SQL注入请求中的注入语句进行建模,得到多个第一模型,并将所述多个第一模型的集合构建为所述第一模型库;
对报错型SQL注入响应对应的报错内容进行建模,得到多个第二模型,并将所述多个第二模型的集合构建为所述第二模型库。
7.如权利要求1至6中任一项所述的方法,其中,所述网络请求为http请求,所述网络响应为http响应。
8.如权利要求4或5所述的方法,其中,所述第一模型和第二模型为基于正则表达式的模型,所述第一匹配、第二匹配和第三匹配为正则匹配。
9.一种代理服务器,包括:
至少一个处理器;和
存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-8中任一项所述的方法的指令。
10.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-8中任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京知道创宇信息技术股份有限公司,未经北京知道创宇信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710865971.6/1.html,转载请声明来源钻瓜专利网。





