CN102968578A - 一种防注入方法及系统 - Google Patents

一种防注入方法及系统 Download PDF

Info

Publication number
CN102968578A
CN102968578A CN2012104241879A CN201210424187A CN102968578A CN 102968578 A CN102968578 A CN 102968578A CN 2012104241879 A CN2012104241879 A CN 2012104241879A CN 201210424187 A CN201210424187 A CN 201210424187A CN 102968578 A CN102968578 A CN 102968578A
Authority
CN
China
Prior art keywords
packet
data packet
address
module
complete
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
Application number
CN2012104241879A
Other languages
English (en)
Inventor
张权
刘鹏
张涛
张青
陆国祥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CVIC Software Engineering Co Ltd
Original Assignee
CVIC Software Engineering Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CVIC Software Engineering Co Ltd filed Critical CVIC Software Engineering Co Ltd
Priority to CN2012104241879A priority Critical patent/CN102968578A/zh
Publication of CN102968578A publication Critical patent/CN102968578A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种防注入方法及系统,所述方法包括:接收数据包,其中,每个数据包合对应每个网络连接,将所述接收的数据包中相同网络连接的数据包组合成一个完整的数据包并进行存储,判断所述完整的数据包是否符合预设注入规则,如果是,则发生注入,如果否,则没有发生注入,所述方法应用于系统中,实现在纯内核态的环境下,不必使用上下文切换,就可以实现对SQL防注入进行了判断,提高了系统的性能。

Description

一种防注入方法及系统
技术领域
本发明涉及软件技术领域,特别是一种防注入方法及系统。 
背景技术
目前对于结构化查询语言(SQL)防注入的方法中,用户通常使用的为设置反向代理,所述设置反向代理的方法就是通过反向代理技术,对网站的请求进行截取,然后再请求达到网站之前进行处理,这样降低了网站受到攻击的可能性,并且减轻了网站本身的负载,更有甚者,使用内核模块专用在内核态抓包,然后再传到用户态进行包的组装,最后用反向代理的机制,进行包的处理,然后再从用户态回到内核态,对包所对应的连接进行处理,这样的话,就需要在用户态和内核态之间频繁切换,不可避免的会带来较多的上下文切换,因此,会带来系统的性能的极大损耗。 
发明内容
本发明所要解决的问题是:提供一种防注入方法及系统,解决了现有技术中在用户态和内核态之间频繁切换,就会带来较多的上下文切换,从而给系统性能带来下降的问题。 
一种防注入方法,所述方法应用于内核态环境下,包括: 
接收数据包,其中,每个数据包对应每个网络连接; 
将所述接收的数据包中相同网络连接的数据包组合成一个完整的数据包并进行存储; 
判断所述完整的数据包是否符合预设的注入规则,如果是,则发生了注入,如果否,则没有发生注入。 
优选地,在所述将所述每个网络连接对应的每个数据包集合中的各个数据包组合成一个完整的数据包并进行存储之后,判断所述完整的数据包是否符合预设的注入规则之前还包括: 
对所述完整数据包进行处理,得到所述完整数据包的参数,其中,所述参数包括:源IP地址、源端口地址、目的IP地址及目的端口地址; 
利用所述完整数据包的参数创建哈希列表; 
通过查找所述哈希列表,得到所述完整数据包的数据信息。 
优选地,所述对所述完整数据包进行处理的过程包括: 
将所述完整数据包通过hook函数处理。 
优选地,还包括: 
当发生攻击时,向所述源IP地址发送一个阻断页面,并向所述目的IP地址发送攻击响应数据。 
一种防注入系统,所述系统包括:接收模块、组合模块和判断模块; 
所述接收模块用于,接收数据包,其中,每个数据包对应每个网络连接; 
所述组合模块用于,将所述接收的数据包中相同网络连接的数据包组合成一个完整的数据包并进行存储; 
所述判断模块用于,判断所述完整的数据包是否符合预设的注入规则,如果是,则发生了注入,如果否,则没有发生注入。 
优选地,还包括:处理模块; 
所述处理模块用于,对所述完整数据包进行处理,得到所述完整数据包的参数,其中,所述参数包括:源IP地址、源端口地址、目的IP地址及目的端口地址。 
优选地,还包括:创建模块和查询模块; 
所述创建模块用于,利用所述完整数据包的参数创建哈希列表; 
所述查询模块用于,通过查找所述哈希列表,得到所述完整数据包的数据信息。 
从以上技术方案可以看出,本发明提供了一种防注入方法及系统,所述方法包括:接收数据包,其中,每个数据包合对应每个网络连接,将所述接收的数据包中相同网络连接的数据包组合成一个完整的数据包并进行存储,判断所述完整的数据包是否符合预设注入规则,如果是,则发生注入,如果否,则没有发生注入,所述方法实现在纯内核态的环境下,不必使用上下文切换,就可以实现对SQL防注入进行了判断,提高了系统的性能。 
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。 
图1为本发明实施例一公开的一种防注入方法流程示意图; 
图2为本发明实施例二公开的一种防注入方法流程示意图; 
图3为本发明实施例五公开的一种防注入系统结构示意图; 
图4为本发明实施例六公开的一种防注入系统结构示意图。 
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。 
本发明实施例一公开了一种防注入方法,参见图1所示,所述方法应用于内核态环境下,步骤包括: 
步骤S101:接收数据包,其中,每个数据包对应每个网络连接; 
步骤S102:将所述接收的数据包中相同网络连接的数据包组合成一个完整的数据包并进行存储; 
步骤S103:判断所述完整的数据包是否符合预设的注入规则,如果是,执行步骤S104,如果否,执行步骤S105; 
步骤S104:则发生了注入; 
步骤S105:则没有发生注入。 
其中,所述预设的注入规则可以为用户在浏览器里输入http://www.baidu.com?select*from a where c=d,这个问号后面的东西就是SQL注入了,我们会根据此注入规则去做验证。 
本实施例公开了一种防注入方法,所述方法包括:接收数据包,其中,每个数据包合对应每个网络连接,将所述接收的数据包中相同网络连接的数据包组合成一个完整的数据包并进行存储,判断所述完整的数据包是否符合预设注入规则,如果是,则发生注入,如果否,则没有发生注入,所述方法实现在纯内核态的环境下,不必使用上下文切换,就可以实现对SQL防注入进行了判断,提高了系统的性能。 
本发明实施例二公开了一种防注入方法,参见图2所示,所述方法包括: 
步骤S201:接收数据包,其中,每个数据包对应每个网络连接; 
步骤S202:将所述接收的数据包中相同网络连接的数据包组合成一个完整的数据包并进行存储; 
步骤S203:对所述完整数据包进行处理,得到所述完整数据包的参数; 
其中,对所述完整数据包的处理使用了hook函数,得到所述完整数据包的四个参数值:源IP、源端口地址、目的IP及目的端口地址; 
步骤S204:利用所述完整数据包的参数创建哈希列表; 
其中,利用所述完整数据包的四个参数值:源IP、源端口地址、目的IP及目的端口地址,按照TCP/IP的四元组来规划一个基于开放式地址的哈希列表; 
步骤S205:通过查找所述哈希列表,得到所述完整数据包的数据信息; 
步骤S206:判断所述完整的数据包是否符合预设的注入规则,如果是,执行步骤S207,如果否,执行步骤S208; 
步骤S207:则发生了注入; 
步骤S208:则没有发生注入; 
步骤S209:判断所述注入的数据包是否为攻击数据包,如果是,执行步骤S210,如果否,执行步骤S211; 
步骤S210:向所述源IP地址发送一个阻断页面,并向所述目的IP地址发送攻击响应数据; 
步骤S211:结束。 
本实施例公开了一种防注入方法,所述方法在实施例一的基础上,判断所述注入数据包是否为攻击数据包,如果是,进行了相应的处理,即向所述源IP地址发送一个阻断页面,并向所述目的IP地址发送攻击响应数据,要求阻断连接,减免了数据信息外泄的可能,另外,按照TCP/IP的四元组规划了一个基于开放式地址的哈希列表,其中,TCP协议是工作在七层协议的传输层,是面向连接、基于字节流的协议,对效率和传输的准确性均有很好的支持,而且创建哈希表可以方便并快捷的得到所述数据信息。 
本发明实施例三公开了一种列车定位系统,参见图3所示,所述系统包括:接收模块101、组合模块102和判断模块103; 
所述接收模块101用于,接收数据包,其中,每个数据包对应每个网络连接; 
所述组合模块102用于,将所述接收的数据包中相同网络连接的数据包组合成一个完整的数据包并进行存储; 
所述判断模块103用于,判断所述完整的数据包是否符合预设的注入规则,如果是,则发生了注入,如果否,则没有发生注入。 
其中,所述预设的注入规则可以为用户在浏览器里输入http://www.baidu.com?select*from a where c=d,这个问号后面的东西就是SQL注入了,我们会根据此注入规则去做验证。 
本实施例公开了一种防注入系统,所述系统包括:接收模块、组合模块和判断模块,所述接收模块用于,接收数据包,其中,每个数据包对应每个网络连接,所述组合模块用于,将所述接收的数据包中相同网络连接的数据包组合成一个完整的数据包并进行存储,所述判断模块用于,判断所述完整的数据包是否符合预设的注入规则,如果是,则发生了注入,如果否,则没有发生注入,所述系统应用在纯内核态的环境下,不必在内核态和用户态之间频繁切换,因此,提高了系统的性能。 
本发明实施例四公开了一种列车定位系统,参见图4所示,所述处理模块104、创建模块105和查询模块106; 
所述处理模块104用于,对所述完整数据包进行处理,得到所述完整数据包的参数,其中,所述参数包括:源IP地址、源端口地址、目的IP地址及目的端口地址; 
其中,所述处理模块,对所述完整数据包使用了hook函数进行处理,得到所述完整数据包的四个参数值:源IP、源端口地址、目的IP及目的端口地址; 
所述创建模块105用于,利用所述完整数据包的参数创建哈希列表; 
其中,所述创建模块,利用所述完整数据包的四个参数值:源IP、源端口地址、目的IP及目的端口地址,按照TCP/IP的四元组来规划一个基于开放式地址的哈希列表; 
所述查询模块106用于,通过查找所述哈希列表,得到所述完整数据包的数据信息。 
本实施例在实施例三的基础上,增加了处理模块、创建模块和查询模块, 所述处理模块对所述完整数据包使用hook函数处理,得到所述完整数据包的四个参数值,所述创建模块利用所述四个参数值创建了哈希列表,所述查询模块可以利用所述哈希列表查找到所述完整数据包的数据信息,通过创建哈希列表,可以方便快捷的得到需要查找的数据包的数据信息。 
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。 
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽范围。 

Claims (7)

1.一种防注入方法,其特征在于,所述方法应用于内核态环境下,包括:
接收数据包,其中,每个数据包对应每个网络连接;
将所述接收的数据包中相同网络连接的数据包组合成一个完整的数据包并进行存储;
判断所述完整的数据包是否符合预设的注入规则,如果是,则发生了注入,如果否,则没有发生注入。
2.根据权利要求1所述的方法,其特征在于,在所述将所述每个网络连接对应的每个数据包集合中的各个数据包组合成一个完整的数据包并进行存储之后,判断所述完整的数据包是否符合预设的注入规则之前还包括:
对所述完整数据包进行处理,得到所述完整数据包的参数,其中,所述参数包括:源IP地址、源端口地址、目的IP地址及目的端口地址;
利用所述完整数据包的参数创建哈希列表;
通过查找所述哈希列表,得到所述完整数据包的数据信息。
3.根据权利要求2所述的方法,其特征在于,所述对所述完整数据包进行处理的过程包括:
将所述完整数据包通过hook函数处理。
4.根据权利要求2所述的方法,其特征在于,还包括:
判断所述注入数据包是否为攻击数据包,如果是,向所述源IP地址发送一个阻断页面,并向所述目的IP地址发送攻击响应数据,如果否,结束。
5.一种防注入系统,其特征在于,所述系统包括:接收模块、组合模块和判断模块;
所述接收模块用于,接收数据包,其中,每个数据包对应每个网络连接;
所述组合模块用于,将所述接收的数据包中相同网络连接的数据包组合成一个完整的数据包并进行存储;
所述判断模块用于,判断所述完整的数据包是否符合预设的注入规则,如果是,则发生了注入,如果否,则没有发生注入。
6.根据权利要求5所述的系统,其特征在于,还包括:处理模块;
所述处理模块用于,对所述完整数据包进行处理,得到所述完整数据包的参数,其中,所述参数包括:源IP地址、源端口地址、目的IP地址及目的端口地址。
7.根据权利要求6所述的系统,其特征在于,还包括:创建模块和查询模块;
所述创建模块用于,利用所述完整数据包的参数创建哈希列表;
所述查询模块用于,通过查找所述哈希列表,得到所述完整数据包的数据信息。
CN2012104241879A 2012-10-30 2012-10-30 一种防注入方法及系统 Pending CN102968578A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2012104241879A CN102968578A (zh) 2012-10-30 2012-10-30 一种防注入方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012104241879A CN102968578A (zh) 2012-10-30 2012-10-30 一种防注入方法及系统

Publications (1)

Publication Number Publication Date
CN102968578A true CN102968578A (zh) 2013-03-13

Family

ID=47798715

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012104241879A Pending CN102968578A (zh) 2012-10-30 2012-10-30 一种防注入方法及系统

Country Status (1)

Country Link
CN (1) CN102968578A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106202082A (zh) * 2015-04-30 2016-12-07 阿里巴巴集团控股有限公司 组装基础数据缓存的方法及装置
CN108063781A (zh) * 2016-11-07 2018-05-22 北京京东尚科信息技术有限公司 浏览器中弹出定制信息的装置和方法
CN114640704A (zh) * 2022-05-18 2022-06-17 山东云天安全技术有限公司 通讯数据获取方法、系统、计算机设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1581768A (zh) * 2003-08-04 2005-02-16 联想(北京)有限公司 一种入侵检测方法
CN101217493A (zh) * 2008-01-08 2008-07-09 北京大学 一种tcp数据包的传输方法
CN101388763A (zh) * 2007-09-12 2009-03-18 北京启明星辰信息技术有限公司 一种支持多种数据库类型的sql注入攻击检测系统
US8051486B2 (en) * 2007-05-24 2011-11-01 Oracle International Corporation Indicating SQL injection attack vulnerability with a stored value

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1581768A (zh) * 2003-08-04 2005-02-16 联想(北京)有限公司 一种入侵检测方法
US8051486B2 (en) * 2007-05-24 2011-11-01 Oracle International Corporation Indicating SQL injection attack vulnerability with a stored value
CN101388763A (zh) * 2007-09-12 2009-03-18 北京启明星辰信息技术有限公司 一种支持多种数据库类型的sql注入攻击检测系统
CN101217493A (zh) * 2008-01-08 2008-07-09 北京大学 一种tcp数据包的传输方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106202082A (zh) * 2015-04-30 2016-12-07 阿里巴巴集团控股有限公司 组装基础数据缓存的方法及装置
CN106202082B (zh) * 2015-04-30 2020-01-14 菜鸟智能物流控股有限公司 组装基础数据缓存的方法及装置
CN108063781A (zh) * 2016-11-07 2018-05-22 北京京东尚科信息技术有限公司 浏览器中弹出定制信息的装置和方法
CN108063781B (zh) * 2016-11-07 2021-01-26 北京京东尚科信息技术有限公司 浏览器中弹出定制信息的装置和方法
CN114640704A (zh) * 2022-05-18 2022-06-17 山东云天安全技术有限公司 通讯数据获取方法、系统、计算机设备及可读存储介质
CN114640704B (zh) * 2022-05-18 2022-08-19 山东云天安全技术有限公司 通讯数据获取方法、系统、计算机设备及可读存储介质

Similar Documents

Publication Publication Date Title
US11003639B2 (en) Database data migration method, apparatus, terminal, system, and storage medium
US8908564B2 (en) Method for Media Access Control address learning and learning rate suppression
EP3079313B1 (en) Data splitting method and splitter
CN102223365B (zh) 基于ssl vpn网关集群的用户接入方法及其装置
CN104170353B (zh) Tcp链路配置方法、装置及设备
CN101217493B (zh) 一种tcp数据包的传输方法
US9742616B2 (en) Device for indicating packet processing hints
WO2007040936A3 (en) Providing and receiving content for computer networks using a gateway and server
CN104281493A (zh) 一种提升应用交付通讯平台多进程程序性能的方法
EP3352431A1 (en) Network load balance processing system, method, and apparatus
WO2006128147A3 (en) Systems and methods for a fault tolerant voice-over-internet protocol (voip) architecture
CA2645274A1 (en) Peer to peer gateway
WO2008121965A3 (en) Methods and systems for performing server-based mobile chat
US20140331306A1 (en) Anti-Virus Method and Apparatus and Firewall Device
CN102968578A (zh) 一种防注入方法及系统
CN103297384A (zh) 协议转换的通信方法及系统
WO2008063481A3 (en) Network audio directory server and method
CN103475657A (zh) 防syn泛洪攻击的处理方法和装置
CN102761608B (zh) Udp会话复用的方法和负载均衡设备
CN102843362A (zh) 一种使用tcam进行arp防御的方法
TW200719625A (en) Network device with routing function and policy route setting method thereof
CN103929365A (zh) 一种适用于udp服务的负载均衡系统及方法
CN103595618A (zh) 一种用于保持即时通信会话连续性的方法、服务器及系统
CN102694727A (zh) 实现网络数据包转发加速的方法及装置
CN106411771A (zh) 一种数据转发方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20130313