CN110474888A - 一种基于php的独立式sql注入防御分析告警方法及其系统 - Google Patents
一种基于php的独立式sql注入防御分析告警方法及其系统 Download PDFInfo
- Publication number
- CN110474888A CN110474888A CN201910681283.3A CN201910681283A CN110474888A CN 110474888 A CN110474888 A CN 110474888A CN 201910681283 A CN201910681283 A CN 201910681283A CN 110474888 A CN110474888 A CN 110474888A
- Authority
- CN
- China
- Prior art keywords
- sql
- blacklist
- injection
- grade
- keyword
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
Abstract
本发明公开了一种基于php的独立式sql注入防御分析告警方法及其系统,方法步骤包括:检查请求IP是否为封禁IP黑名单,若是则结束其请求,若否则进入下一步骤;判断sql注入的参数是否包含黑名单符号,若包含则将此sql注入设置为notice等级;判断sql注入的参数是否包含黑名单关键词,若包含则将此sql注入设置为warning等级;对sql注入的参数进行以空格为准的分割,判断参数是否包含黑名单关键词,若包含则将此sql注入设置为error等级;对error等级的sql注入,检查该sql注入的请求ip是否进行了规定次数的注入攻击,若是则将此请求ip进行封禁并将其列入封禁IP黑名单。本发明全方位对sql注入问题采取措施,从预防、应对、监测以及记录都会有相应的措施,更大程度上保护数据安全。
Description
技术领域
本发明涉及SQL注入攻击技术领域,特别涉及一种基于php的独立式sql注入防御分析告警方法及其系统。
背景技术
随着互联网技术的迅速发展,Web技术和数据库技术已经成为组成现代化信息系统的关键技术,以Web服务器和数据库为基础的信息安全是当前核心的互联网安全问题之一。对于Web服务器和数据库,其极易受到黑客的攻击。其中,SQL注入攻击是目前Web服务器面临的一类常见的攻击,攻击者通过修改应用程序的Web表单的输入域或页面请求中的查询字符串等插入一系列的SQL命令来改变数据库查询语句,从而欺骗数据库服务器执行恶意的SQL命令,进而实现对后台数据库未经授权的访问并窃取数据库中有价值的数据。SQL注入攻击是黑客攻击Web服务器时最常用的一种攻击方式,给互联网安全造成了严重的威胁。
现有技术中,SQL注入攻击防御方法大多是基于规则的,即事先建立好用于区分正常SQL语句和SQL注入攻击的判断规则,由于攻击手段的不断发展和进化,再加上互联网上数据量太大且多样性太大,很难建立一个能精确区分正常SQL语句和SQL注入攻击的完善的规则库,因此该类方法往往会有较高的误报率和漏报率,需要不停地更新规则库但是仍然不能起到非常有效的防护。
发明内容
本发明要解决的技术问题在于,提供一种基于php的独立式sql注入防御分析告警方法及其系统,全方位对sql注入问题采取措施,从预防(增大攻击成本)、应对(进行过滤、分级处理和IP封禁)、监测(警报通知)以及记录(日志追踪)都会有相应的措施,更大程度上保护数据安全。
为解决上述技术问题,本发明提供如下技术方案:一种基于php的独立式sql注入防御分析告警方法,包括以下步骤:
S1、对sql注入的请求IP进行匹配,检查其是否为封禁IP黑名单,若是则结束其请求,若否则进入下一步骤;
S2、获取sql注入的参数,判断参数是否包含黑名单符号,若包含则将此sql注入设置为notice等级;无论参数是否包含黑名单符号,均进入下一步;
S3、判断sql注入的参数是否包含黑名单关键词,若包含则将此sql注入设置为warning等级;无论参数是否包含黑名单关键词,均进入下一步;
S4、对sql注入的参数进行以空格为准的分割,判断参数是否包含黑名单关键词,若包含则将此sql注入设置为error等级;无论参数是否包含黑名单关键词,均进入下一步;
S5、对正常的、notice等级的以及warning等级的sql注入继续请求数据库;对error等级的sql注入,检查该sql注入的请求ip是否在一定时间内已经进行了规定次数的注入攻击,若是则将此请求ip进行封禁并将其列入封禁IP黑名单,否则将其的注入攻击次数加1。
作为优选地,所述步骤S1的封禁IP黑名单,其为预先进行收集封禁IP且存放于数据库中,且所述封禁IP黑名单通过添加步骤S5中列入封禁IP黑名单的请求ip,进行封禁IP黑名单的更新。
作为优选地,所述步骤S2的黑名单符号,其为预先进行收集攻击性符号且存放于数据库中。
作为优选地,所述步骤S3的黑名单关键词,其为预先进行收集攻击性关键词且存放于数据库中。
作为优选地,所述步骤S4还包括:对notice等级、warning等级以及error等级的sql注入,其请求ip、请求参数、请求时间以及请求url的信息均记录且存储于数据库中。
作为优选地,所述步骤S4还包括:对error等级的sql注入,需要发送邮件通知运维工作人员并立即终止客户的sql注入请求。
作为优选地,所述步骤S4中,所述一定时间内为24小时内,所述规定次数为3次。
作为优选地,所述步骤S1前还包括步骤S0:检查sql注入的请求参数randomNum,检查其是否存在而且格式正确。
本发明另一目的是提供一种基于php的独立式sql注入防御分析告警系统,包括:
封禁IP黑名单收集单元,用于收集sql注入的封禁IP;
封禁IP黑名单存储单元,用于存储收集到的sql注入的封禁IP;
封禁IP黑名单判断单元,用于对sql注入的请求IP进行判断,判断其是否为所述封禁IP黑名单存储单元中的封禁IP;
黑名单符号收集单元,用于收集sql注入的黑名单符号;
黑名单符号存储单元,用于存储收集到的sql注入的黑名单符号;
黑名单符号判断单元,用于对sql注入的的参数进行判断,判断参数是否包含所述黑名单符号存储单元中的黑名单符号,并将包含黑名单符号的sql注入设置为notice等级;
黑名单关键词收集单元,用于收集sql注入的黑名单关键词;
黑名单关键词存储单元,用于存储收集到的sql注入的黑名单关键词;
黑名单关键词判断单元,用于判断sql注入的参数是否包含所述黑名单关键词存储单元中的黑名单关键词,并将包含此黑名单关键词的sql注入设置为warning等级;所述黑名单关键词判断单元,还用于对sql注入的参数进行以空格为准的分割,判断参数是否包含所述黑名单关键词存储单元中的黑名单关键词,并将包含此黑名单关键词的sql注入设置为error等级;
处理结果单元,用于对正常的、notice等级的以及warning等级的sql注入继续请求数据库,对error等级的sql在一定时间内注入达到规定次数的注入攻击列入封禁IP黑名单。
作为优选地,所述独立式sql注入防御分析告警系统还包括邮件反馈处理单元,用于将error等级的sql注入发送邮件给运维工作人员并立即终止客户的sql注入请求。
采用上述技术方案后,本发明至少具有如下有益效果:本发明方法全方位对sql注入问题采取措施,从预防(增大攻击成本)、应对(进行过滤、分级处理和IP封禁)、监测(警报通知)和记录(日志追踪)都会有相应的措施,更大程度上保护数据安全;本发明系统使用简单,好比如一个插件,使用的时候挂上去,不使用的时候卸下来,灵活方便;本发明对攻击进行分析评级,为以后每种等级的攻击做相应的措施留下更好的扩展性,并且能够加大攻击者成本;本发明能够独立且灵活使用,能够多层级、多方位保护数据。
附图说明
图1为本发明实施例1中一种基于php的独立式sql注入防御分析告警方法的步骤流程图;
图2为本发明实施例2中一种基于php的独立式sql注入防御分析告警系统的结构框图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互结合,下面结合附图和具体实施例对本申请作进一步详细说明。
实施例1
本发明针对的问题有四个:第一个是sql注入的防御问题;第二个就是对sql注入攻击的分析处理问题;第三点就是解决对攻击的实时反馈问题,不需要在最后时刻才知道服务器被攻击了;第四点解决就是sql注入成本低,攻击频繁的问题。
本发明方案是针对上述四个问题,设计的一套基于php的独立的防范系统。
解决第一个问题,本方案采用第一层黑名单式get,post,cookie的参数判断和过滤,主要过滤一些常用的注入标点符号,第二层进行sql注入关键词的监测,第三层是进行参数的断句分析,避免误判。
针对第二个问题,会针对参数的判断情况,如果第一层有问题,其余没问题,则评级为notice,如果第一,第二层有注入关键词,但第三层没有,那么就评级为warning,但如果三层都发现有问题,则评级为error问题,并终止请求。
针对第三个问题,会对三种等级的请求时间,请求数据,ip地址进行数据库的记录,如果是error错误的,马上进行邮件通知运维人员,并且对ip地址进行修改,如果改ip累计3次进行了sql攻击,马上进行一天的ip封禁。
针对第四个问题,结局方案就是增加进行sql注入的操作成本,为每一个请求增加一个固定格式的随机参数,攻击者必须进行抓包修改参数重发请求才能进行请求攻击。而且每一个请求只能使用一次,攻击者需要重复修改,增加时间成本和操作成本。
如图1所示,对于上述四个问题,本实施例提供一种基于php的独立式sql注入防御分析告警方法,包括以下步骤:
S101、检查sql注入的请求参数randomNum,检查其是否存在而且格式正确;
S102、对sql注入的请求IP进行匹配,检查其是否为封禁IP黑名单,若是则结束其请求,若否则进入下一步骤;所述封禁IP黑名单,其为预先进行收集封禁IP且存放于数据库中,且所述封禁IP黑名单通过添加步骤S106中列入封禁IP黑名单的请求ip,进行封禁IP黑名单的更新;
S103、获取sql注入的参数,判断参数是否包含黑名单符号,若包含则将此sql注入设置为notice等级;无论参数是否包含黑名单符号,均进入下一步;所述黑名单符号,其为预先进行收集攻击性符号且存放于数据库中;所述黑名单符号存储在文件一《sql注入符号黑名单》;
S104、判断sql注入的参数是否包含黑名单关键词,若包含则将此sql注入设置为warning等级;无论参数是否包含黑名单关键词,均进入下一步;所述黑名单关键词,其为预先进行收集攻击性关键词且存放于数据库中;所述黑名单关键词存储在文件二《sql注入关键词黑名单》;
S105、对sql注入的参数进行以空格为准的分割,判断参数是否包含黑名单关键词,若包含则将此sql注入设置为error等级;无论参数是否包含黑名单关键词,均进入下一步;其中,对notice等级、warning等级以及error等级的sql注入,其请求ip、请求参数、请求时间以及请求url的信息均记录且存储于数据库中;对error等级的sql注入,需要发送邮件通知运维工作人员并立即终止客户的sql注入请求;
S106、对正常的、notice等级的以及warning等级的sql注入继续请求数据库;对error等级的sql注入,检查该sql注入的请求ip是否在一定时间内已经进行了规定次数的注入攻击,若是则将此请求ip进行封禁并将其列入封禁IP黑名单,否则将其的注入攻击次数加1;作为优选地,所述一定时间内为24小时内,所述规定次数为3次;这里的一定时间内不一定只为24小时,规定次数也不一定只为3次,需根据实际情况需要,可有开发人员进行定义。
实施例2
如图2所示,本实施例提供一种基于php的独立式sql注入防御分析告警系统,包括:
封禁IP黑名单收集单元,用于收集sql注入的封禁IP;
封禁IP黑名单存储单元,用于存储收集到的sql注入的封禁IP;
封禁IP黑名单判断单元,用于对sql注入的请求IP进行判断,判断其是否为所述封禁IP黑名单存储单元中的封禁IP;
黑名单符号收集单元,用于收集sql注入的黑名单符号;
黑名单符号存储单元,用于存储收集到的sql注入的黑名单符号;
黑名单符号判断单元,用于对sql注入的的参数进行判断,判断参数是否包含所述黑名单符号存储单元中的黑名单符号,并将包含黑名单符号的sql注入设置为notice等级;
黑名单关键词收集单元,用于收集sql注入的黑名单关键词;
黑名单关键词存储单元,用于存储收集到的sql注入的黑名单关键词;
黑名单关键词判断单元,用于判断sql注入的参数是否包含所述黑名单关键词存储单元中的黑名单关键词,并将包含此黑名单关键词的sql注入设置为warning等级;所述黑名单关键词判断单元,还用于对sql注入的参数进行以空格为准的分割,判断参数是否包含所述黑名单关键词存储单元中的黑名单关键词,并将包含此黑名单关键词的sql注入设置为error等级;
处理结果单元,用于对正常的、notice等级的以及warning等级的sql注入继续请求数据库,对error等级的sql在一定时间内注入达到规定次数的注入攻击列入封禁IP黑名单;
邮件反馈处理单元,用于将error等级的sql注入发送邮件给运维工作人员并立即终止客户的sql注入请求。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解的是,在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种等效的变化、修改、替换和变型,本发明的范围由所附权利要求及其等同范围限定。
Claims (10)
1.一种基于php的独立式sql注入防御分析告警方法,其特征在于,包括以下步骤:
S1、对sql注入的请求IP进行匹配,检查其是否为封禁IP黑名单,若是则结束其请求,若否则进入下一步骤;
S2、获取sql注入的参数,判断参数是否包含黑名单符号,若包含则将此sql注入设置为notice等级;无论参数是否包含黑名单符号,均进入下一步;
S3、判断sql注入的参数是否包含黑名单关键词,若包含则将此sql注入设置为warning等级;无论参数是否包含黑名单关键词,均进入下一步;
S4、对sql注入的参数进行以空格为准的分割,判断参数是否包含黑名单关键词,若包含则将此sql注入设置为error等级;无论参数是否包含黑名单关键词,均进入下一步;
S5、对正常的、notice等级的以及warning等级的sql注入继续请求数据库;对error等级的sql注入,检查该sql注入的请求ip是否在一定时间内已经进行了规定次数的注入攻击,若是则将此请求ip进行封禁并将其列入封禁IP黑名单,否则将其的注入攻击次数加1。
2.根据权利要求1所述的一种基于php的独立式sql注入防御分析告警方法,其特征在于,所述步骤S1的封禁IP黑名单,其为预先进行收集封禁IP且存放于数据库中,且所述封禁IP黑名单通过添加步骤S5中列入封禁IP黑名单的请求ip,进行封禁IP黑名单的更新。
3.根据权利要求1所述的一种基于php的独立式sql注入防御分析告警方法,其特征在于,所述步骤S2的黑名单符号,其为预先进行收集攻击性符号且存放于数据库中。
4.根据权利要求1所述的一种基于php的独立式sql注入防御分析告警方法,其特征在于,所述步骤S3的黑名单关键词,其为预先进行收集攻击性关键词且存放于数据库中。
5.根据权利要求1所述的一种基于php的独立式sql注入防御分析告警方法,其特征在于,所述步骤S4还包括:对notice等级、warning等级以及error等级的sql注入,其请求ip、请求参数、请求时间以及请求url的信息均记录且存储于数据库中。
6.根据权利要求1所述的一种基于php的独立式sql注入防御分析告警方法,其特征在于,所述步骤S4还包括:对error等级的sql注入,需要发送邮件通知运维工作人员并立即终止客户的sql注入请求。
7.根据权利要求1所述的一种基于php的独立式sql注入防御分析告警方法,其特征在于,所述步骤S4中,所述一定时间内为24小时内,所述规定次数为3次。
8.根据权利要求1-7任一所述的一种基于php的独立式sql注入防御分析告警方法,其特征在于,所述步骤S1前还包括步骤S0:
检查sql注入的请求参数randomNum,检查其是否存在而且格式正确。
9.一种基于php的独立式sql注入防御分析告警系统,其特征在于,包括:
封禁IP黑名单收集单元,用于收集sql注入的封禁IP;
封禁IP黑名单存储单元,用于存储收集到的sql注入的封禁IP;
封禁IP黑名单判断单元,用于对sql注入的请求IP进行判断,判断其是否为所述封禁IP黑名单存储单元中的封禁IP;
黑名单符号收集单元,用于收集sql注入的黑名单符号;
黑名单符号存储单元,用于存储收集到的sql注入的黑名单符号;
黑名单符号判断单元,用于对sql注入的的参数进行判断,判断参数是否包含所述黑名单符号存储单元中的黑名单符号,并将包含黑名单符号的sql注入设置为notice等级;
黑名单关键词收集单元,用于收集sql注入的黑名单关键词;
黑名单关键词存储单元,用于存储收集到的sql注入的黑名单关键词;
黑名单关键词判断单元,用于判断sql注入的参数是否包含所述黑名单关键词存储单元中的黑名单关键词,并将包含此黑名单关键词的sql注入设置为warning等级;所述黑名单关键词判断单元,还用于对sql注入的参数进行以空格为准的分割,判断参数是否包含所述黑名单关键词存储单元中的黑名单关键词,并将包含此黑名单关键词的sql注入设置为error等级;
处理结果单元,用于对正常的、notice等级的以及warning等级的sql注入继续请求数据库,对error等级的sql在一定时间内注入达到规定次数的注入攻击列入封禁IP黑名单。
10.根据权利要求9所述的一种基于php的独立式sql注入防御分析告警系统,其特征在于,还包括邮件反馈处理单元,用于将error等级的sql注入发送邮件给运维工作人员并立即终止客户的sql注入请求。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910681283.3A CN110474888A (zh) | 2019-07-26 | 2019-07-26 | 一种基于php的独立式sql注入防御分析告警方法及其系统 |
JP2020008081A JP6876307B2 (ja) | 2019-07-26 | 2020-01-22 | phpに基づく独立型sqlインジェクション防御分析通知方法及びそのシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910681283.3A CN110474888A (zh) | 2019-07-26 | 2019-07-26 | 一种基于php的独立式sql注入防御分析告警方法及其系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110474888A true CN110474888A (zh) | 2019-11-19 |
Family
ID=68508938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910681283.3A Pending CN110474888A (zh) | 2019-07-26 | 2019-07-26 | 一种基于php的独立式sql注入防御分析告警方法及其系统 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6876307B2 (zh) |
CN (1) | CN110474888A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111832023A (zh) * | 2020-07-10 | 2020-10-27 | 厦门靠谱云股份有限公司 | 一种基于c/s架构的sql注入检测方法及其装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112966507A (zh) * | 2021-03-29 | 2021-06-15 | 北京金山云网络技术有限公司 | 构建识别模型及攻击识别方法、装置、设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5145967B2 (ja) * | 2008-01-18 | 2013-02-20 | 富士通株式会社 | コマンド文構築プログラム,処理方法,および処理装置 |
JP5656266B2 (ja) * | 2012-01-24 | 2015-01-21 | Necソリューションイノベータ株式会社 | ブラックリスト抽出装置、抽出方法および抽出プログラム |
EP2973276A4 (en) * | 2013-03-15 | 2016-09-14 | Visa Int Service Ass | MOBILE SNAPPER SECURITY DEVICES AND METHOD AND SYSTEMS THEREFOR |
JP6364255B2 (ja) * | 2014-06-17 | 2018-07-25 | 株式会社エヌ・ティ・ティ・データ | 通信制御装置、攻撃防御システム、攻撃防御方法、及びプログラム |
-
2019
- 2019-07-26 CN CN201910681283.3A patent/CN110474888A/zh active Pending
-
2020
- 2020-01-22 JP JP2020008081A patent/JP6876307B2/ja active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111832023A (zh) * | 2020-07-10 | 2020-10-27 | 厦门靠谱云股份有限公司 | 一种基于c/s架构的sql注入检测方法及其装置 |
CN111832023B (zh) * | 2020-07-10 | 2021-04-27 | 厦门靠谱云股份有限公司 | 一种基于c/s架构的sql注入检测方法及其装置 |
Also Published As
Publication number | Publication date |
---|---|
JP6876307B2 (ja) | 2021-05-26 |
JP2021022358A (ja) | 2021-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104063473B (zh) | 一种数据库审计监测系统及其方法 | |
CN112291232B (zh) | 一种基于租户的安全能力和安全服务链管理平台 | |
CN106534195B (zh) | 一种基于攻击图的网络攻击者行为分析方法 | |
CN101924757B (zh) | 追溯僵尸网络的方法和系统 | |
CN103026345B (zh) | 用于事件监测优先级的动态多维模式 | |
CN109885562A (zh) | 一种基于网络空间安全的大数据智能分析系统 | |
CN107888607A (zh) | 一种网络威胁检测方法、装置及网络管理设备 | |
Verkamp et al. | Five incidents, one theme: Twitter spam as a weapon to drown voices of protest | |
Kott et al. | The promises and challenges of continuous monitoring and risk scoring | |
Lahre et al. | Analyze different approaches for ids using kdd 99 data set | |
CN105915532A (zh) | 一种失陷主机的识别方法及装置 | |
CN103166966A (zh) | 识别对网站的非法访问请求的方法及装置 | |
CN107800671A (zh) | 一种防火墙规则的生成方法及装置 | |
CN103118035A (zh) | 分析网站访问请求参数合法范围的方法及装置 | |
CN101557394A (zh) | 一种蜜网主动防御系统中的数据控制方法 | |
CN112560029A (zh) | 基于智能分析技术的网站内容监测和自动化响应防护方法 | |
CN110474888A (zh) | 一种基于php的独立式sql注入防御分析告警方法及其系统 | |
CN107846389A (zh) | 基于用户主客观数据融合的内部威胁检测方法及系统 | |
Shrivastava et al. | Network forensics: Today and tomorrow | |
Suo et al. | Research on the application of honeypot technology in intrusion detection system | |
Asante et al. | Content-based technical solution for cyberstalking detection | |
Aldwairi et al. | Flukes: Autonomous log forensics, intelligence and visualization tool | |
Kwan et al. | Towards a methodology for profiling cyber criminals | |
CN110247888A (zh) | 一种计算机网络安全态势感知平台架构 | |
Hong et al. | Data Auditing for Intelligent Network Security Monitoring |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20191119 |
|
WD01 | Invention patent application deemed withdrawn after publication |