CN107347076A - Ssrf漏洞的检测方法及装置 - Google Patents

Ssrf漏洞的检测方法及装置 Download PDF

Info

Publication number
CN107347076A
CN107347076A CN201710732152.4A CN201710732152A CN107347076A CN 107347076 A CN107347076 A CN 107347076A CN 201710732152 A CN201710732152 A CN 201710732152A CN 107347076 A CN107347076 A CN 107347076A
Authority
CN
China
Prior art keywords
key
inquiry request
public network
leak
detected
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.)
Granted
Application number
CN201710732152.4A
Other languages
English (en)
Other versions
CN107347076B (zh
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.)
Shanghai Anheng times Information Technology Co., Ltd
Original Assignee
DBAPPSecurity 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 DBAPPSecurity Co Ltd filed Critical DBAPPSecurity Co Ltd
Priority to CN201710732152.4A priority Critical patent/CN107347076B/zh
Publication of CN107347076A publication Critical patent/CN107347076A/zh
Application granted granted Critical
Publication of CN107347076B publication Critical patent/CN107347076B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/1433Vulnerability analysis
    • 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/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供了一种SSRF漏洞的检测方法及装置,该检测方法包括:获取漏洞查询请求;向待检测URL链接所对应的服务器发送漏洞查询请求,并在查询到SSRF漏洞时,得到漏洞查询结果;向公网服务器的验证端口发送秘钥查询请求,以在公网服务器中查询是否存在漏洞查询结果;如果公网服务器根据秘钥查询请求返回的返回结果为第一预设结果,则确定待检测URL链接存在SSRF漏洞。本发明中提出了一种SSRF漏洞的检测方法,该方法能够检测出待检测URL链接是否存在SSRF漏洞,缓解了现有技术中无法对SSRF漏洞进行检测的技术问题。

Description

SSRF漏洞的检测方法及装置
技术领域
本发明涉及网页安全检测的技术领域,尤其是涉及一种SSRF漏洞的检测方法及装置。
背景技术
SSRF(服务器端请求伪造)漏洞是一种新型的web应用漏洞,与CSRF(跨站请求伪造)漏洞不同,它是利用服务端向其他内外网服务器发送请求。这种漏洞发生在有些web应用需要通过客户端指定url从其他服务器获取数据,比如通过url地址分享网页内容、远程图片加载或下载、转码服务、在线翻译等功能。当web应用提供的这些功能未对提交的url参数值做严格的限制,如请求协议限制、内外访问限制等,攻击者很可能会利用web应用这种缺陷,突破外网无法访问内网的限制,探测内网架构、进而攻击内网脆弱系统等。
目前公开的相关技术中,还没有一种能够对SSRF漏洞进行检测的方法,也就是无法获知待检测网页入口(即,待检测URL链接)是否存在SSRF漏洞。
发明内容
有鉴于此,本发明的目的在于提供一种SSRF漏洞的检测方法及装置,以缓解现有技术中无法对SSRF漏洞进行检测的技术问题。
第一方面,本发明实施例提供了一种SSRF漏洞的检测方法,应用于用户终端,所述方法包括:
获取漏洞查询请求,其中,所述漏洞查询请求中包括:待检测URL链接,与所述待检测URL链接相对应的随机字符串,公网服务器的域名;
向所述待检测URL链接所对应的服务器发送所述漏洞查询请求,并在查询到所述SSRF漏洞时,得到漏洞查询结果,其中,所述漏洞查询结果记录于所述公网服务器中;
向所述公网服务器的验证端口发送秘钥查询请求,以在所述公网服务器中查询是否存在所述漏洞查询结果,其中,所述秘钥查询请求根据所述随机字符串生成;
如果所述公网服务器根据所述秘钥查询请求返回的返回结果为第一预设结果,则确定所述待检测URL链接存在所述SSRF漏洞。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述漏洞查询结果为带有用户终端网络地址和所述随机字符串的访问记录,向所述公网服务器的验证端口发送秘钥查询请求,以在所述公网服务器中查询是否存在所述漏洞查询结果:
向所述公网服务器的验证端口发送所述秘钥查询请求,以在所述公网服务器中查询是否存在与所述秘钥查询请求中的所述随机字符串的信息相对应的访问记录。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述方法还包括:
如果所述公网服务器根据所述秘钥查询请求返回的返回结果为第二预设结果,则确定所述待检测URL链接不存在SSRF漏洞。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,获取漏洞查询请求包括:
根据用户的触发操作获取所述待检测URL链接的参数键值对,其中,所述参数键值对用于表征所述待检测URL链接的关键特征;
将所述参数键值对与字典白名单中的参数键进行匹配,其中,所述字典白名单中的参数键为用户或研发人员根据经验总结的出问题概率大于预设概率的参数键,所述参数键的数量为多个;
如果所述参数键值对与所述字典白名单中的参数键匹配,则生成所述随机字符串;
在所述待检测URL链接的参数键值对后添加目标信息,得到所述漏洞查询请求,其中,所述目标信息包括:所述随机字符串和预先搭建的所述公网服务器的域名。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述方法还包括:
如果所述参数键值对与所述字典白名单中的参数键不匹配,则继续检测下一个待检测URL链接。
结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,根据用户的触发操作获取所述待检测URL链接的参数键值对包括:
根据用户的触发操作获取所述待检测URL链接;
对所述待检测URL链接进行解析,得到待处理的参数键值对;
对所述待处理的参数键值对进行转化处理,得到所述待检测URL链接的参数键值对,其中,所述转化处理为将所述待处理的参数键值对中的大写字母转换为小写字母。
结合第一方面,本发明实施例提供了第一方面的第六种可能的实施方式,其中,在向所述公网服务器的验证端口发送秘钥查询请求之前,所述方法还包括:
对所述随机字符串拼接预设秘钥,得到初始查询秘钥;
对所述初始查询秘钥进行MD5加密处理,得到加密查询秘钥;
将所述加密查询秘钥置于http请求头信息中,以得到所述秘钥查询请求。
第二方面,本发明实施例还提供了一种SSRF漏洞的检测装置,应用于用户终端,所述装置包括:
获取模块,用于获取漏洞查询请求,其中,所述漏洞查询请求中包括:待检测URL链接,与所述待检测URL链接相对应的随机字符串,公网服务器的域名;
第一发送模块,用于向所述待检测URL链接所对应的服务器发送所述漏洞查询请求,并在查询到所述SSRF漏洞时,得到漏洞查询结果,其中,所述漏洞查询结果记录于所述公网服务器中;
第二发送模块,用于向所述公网服务器的验证端口发送秘钥查询请求,以在所述公网服务器中查询是否存在所述漏洞查询结果,其中,所述秘钥查询请求根据所述随机字符串生成;
第一确定模块,如果所述公网服务器根据所述秘钥查询请求返回的返回结果为第一预设结果,则确定所述待检测URL链接存在所述SSRF漏洞。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,所述漏洞查询结果为带有用户终端网络地址和所述随机字符串的访问记录,向所述公网服务器的验证端口发送秘钥查询请求,以在所述公网服务器中查询是否存在所述漏洞查询结果:
向所述公网服务器的验证端口发送所述秘钥查询请求,以在所述公网服务器中查询是否存在与所述秘钥查询请求中的所述随机字符串的信息相对应的访问记录。
结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,其中,所述装置还包括:
第二确定模块,如果所述公网服务器根据所述秘钥查询请求返回的返回结果为第二预设结果,则确定所述待检测URL链接不存在SSRF漏洞。
本发明实施例带来了以下有益效果:本发明实施例提供了一种SSRF漏洞的检测方法及装置,该检测方法包括:获取漏洞查询请求,其中,漏洞查询请求中包括:待检测URL链接,与待检测URL链接相对应的随机字符串,公网服务器的域名;向待检测URL链接所对应的服务器发送漏洞查询请求,并在查询到SSRF漏洞时,得到漏洞查询结果,其中,漏洞查询结果记录于公网服务器中;向公网服务器的验证端口发送秘钥查询请求,以在公网服务器中查询是否存在漏洞查询结果,其中,秘钥查询请求根据随机字符串生成;如果公网服务器根据秘钥查询请求返回的返回结果为第一预设结果,则确定待检测URL链接存在SSRF漏洞。
在现有的相关技术中,还没有一种能够对SSRF漏洞进行检测的方法,用户无法获知网页入口是否存在SSRF漏洞。在本发明的SSRF漏洞的检测方法中,先获取漏洞查询请求,该漏洞查询请求中包括:待检测URL链接,与待检测URL链接相对应的随机字符串和公网服务器的域名,然后,向待检测URL链接所对应的服务器发送该漏洞查询请求,当查询到SSRF漏洞时,将漏洞查询结果记录于公网服务器中,进而,向公网服务器的验证端口发送秘钥查询请求,以在公网服务器中查询是否存在漏洞查询结果,如果返回的返回结果为第一预设结果,则确定待检测URL链接存在SSRF漏洞。本发明中提出了一种SSRF漏洞的检测方法,该方法能够检测出待检测URL链接是否存在SSRF漏洞,缓解了现有技术中无法对SSRF漏洞进行检测的技术问题。并且,由于公网服务器的存在,本发明中的SSRF漏洞的检测方法无需使用枚举IP地址的方式发送大量探测请求包,省时省力,提高了检测效率。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种SSRF漏洞的检测方法的流程图;
图2为本发明实施例提供的获取漏洞查询请求的流程图;
图3为本发明实施例提供的根据用户的触发操作获取待检测URL链接的参数键值对的流程图;
图4为本发明实施例提供的一种SSRF漏洞的检测装置的结构示意图。
图标:
11-获取模块;12-第一发送模块;13-第二发送模块;14-第一确定模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种SSRF漏洞的检测方法进行详细介绍。
实施例一:
一种SSRF漏洞的检测方法,参考图1,应用于用户终端,该方法包括:
S101、获取漏洞查询请求,其中,漏洞查询请求中包括:待检测URL链接,与待检测URL链接相对应的随机字符串,公网服务器的域名;
在本发明实施例中,SSRF漏洞的检测方法具体为SSRF漏洞检测软件所执行的检测方法。用户在使用该SSRF漏洞检测软件时,在自身的电脑上安装该SSRF漏洞检测软件,安装完成后,用户输入待检测URL链接(即,待检测网页入口),也可以输入类似于baidu.com的站点,该SSRF漏洞检测软件内置爬虫,通过爬虫爬取baidu.com的所有待检测URL链接,进而,SSRF漏洞检测软件按照上述方法自动执行检测的过程。
具体的,漏洞查询请求实质上是一个URL链接,其中,包括了待检测URL链接,与待检测URL链接相对应的随机字符串和公网服务器的域名。
其中,公网服务器是开发者预先构建的,开发者在构建公网服务器时,先要申请一个域名,随后,开启泛解析的域名服务,然后,在公网服务器上添加脚本,使得公网服务器在存在任何请求时,都会记录请求所对应的用户终端的网络地址以及请求的前缀(在本发明实施例中,请求的前缀为随机字符串),该用户终端的网络地址以及请求的前缀为访问记录的一部分。
下文中再对漏洞查询请求进行举例说明。
S102、向待检测URL链接所对应的服务器发送漏洞查询请求,并在查询到SSRF漏洞时,得到漏洞查询结果,其中,漏洞查询结果记录于公网服务器中;
在得到漏洞查询请求后,再向待检测URL链接所对应的服务器发送漏洞查询请求,当待检测URL链接存在SSRF漏洞时,该漏洞查询请求会进一步到达公网服务器,这样,公网服务器就会产生对应于该请求的访问记录,其中,访问记录中包括用户终端的网络地址以及请求的前缀的信息。
所以,上述的漏洞查询结果具体可以为带有用户终端网络地址和随机字符串的访问记录,当然,上述的漏洞查询结果也可以为其它形式的结果,并不一定局限于访问记录,也就是可以以其他的形式表现,本发明实施例对其不做具体限制。
S103、向公网服务器的验证端口发送秘钥查询请求,以在公网服务器中查询是否存在漏洞查询结果,其中,秘钥查询请求根据随机字符串生成。
在向待检测URL链接所对应的服务器发送漏洞查询请求后,该请求如果也到达了公网服务器(说明待检测URL链接存在SSRF漏洞),公网服务器知道,而用户并不知道,所以需要SSRF漏洞检测软件向公网服务器的验证端口发送秘钥查询请求,以在公网服务器中查询是否存在漏洞查询结果,也就是,是否存在对应的访问记录。
具体的,验证端口为公网服务器的API接口。
S104、如果公网服务器根据秘钥查询请求返回的返回结果为第一预设结果,则确定待检测URL链接存在SSRF漏洞。
向公网服务器的验证端口发送秘钥查询请求后,公网服务器会根据秘钥查询请求返回一个返回结果,如果返回结果为第一预设结果,也就是,漏洞查询请求也到达了公网服务器,公网服务器中有对应的访问记录,那么,确定出待检测URL链接存在SSRF漏洞。这样,用户根据返回结果也就知道了待检测URL链接是否存在SSRF漏洞的情况。
具体的,在本发明实施例中,该第一预设结果为1,也可以为其它的表现形式,比如,第一预设结果为存在SSRF漏洞等,本发明实施例对其不做具体限制。上述步骤S101至步骤S104的执行主体具体为SSRF漏洞检测软件,该检测软件运行在用户终端。
在现有的相关技术中,还没有一种能够对SSRF漏洞进行检测的方法,用户无法获知网页入口是否存在SSRF漏洞。在本发明的SSRF漏洞的检测方法中,先获取漏洞查询请求,该漏洞查询请求中包括:待检测URL链接,与待检测URL链接相对应的随机字符串和公网服务器的域名,然后,向待检测URL链接所对应的服务器发送该漏洞查询请求,当查询到SSRF漏洞时,将漏洞查询结果记录于公网服务器中,进而,向公网服务器的验证端口发送秘钥查询请求,以在公网服务器中查询是否存在漏洞查询结果,如果返回的返回结果为第一预设结果,则确定待检测URL链接存在SSRF漏洞。本发明中提出了一种SSRF漏洞的检测方法,该方法能够检测出待检测URL链接是否存在SSRF漏洞,缓解了现有技术中无法对SSRF漏洞进行检测的技术问题。并且,由于公网服务器的存在,本发明中的SSRF漏洞的检测方法无需使用枚举IP地址的方式发送大量探测请求包,省时省力,提高了检测效率。
上述步骤S101至步骤S104中的内容中的漏洞查询结果为概括得到的词(即,上位得到的),在本发明实施例中,可选地,漏洞查询结果为带有用户终端网络地址和随机字符串的访问记录,
所以,向公网服务器的验证端口发送秘钥查询请求,以在公网服务器中查询是否存在漏洞查询结果具体为:
向公网服务器的验证端口发送秘钥查询请求,以在公网服务器中查询是否存在与秘钥查询请求中的随机字符串的信息相对应的访问记录。
在步骤S104中只介绍了返回结果为第一预设结果的情况,下面进一步介绍另外一种情况。可选地,该方法还包括:
如果公网服务器根据秘钥查询请求返回的返回结果为第二预设结果,则确定待检测URL链接不存在SSRF漏洞。
公网服务器会根据秘钥查询请求返回一个返回结果,如果返回结果为第二预设结果,也就是,漏洞查询请求未到达公网服务器,公网服务器中没有对应的访问记录,那么,确定出待检测URL链接不存在SSRF漏洞。这样,用户根据返回结果也就知道了待检测URL链接是否存在SSRF漏洞的情况。
上述过程从整体上描述了SSRF漏洞的检测方法,下面对其中涉及到的具体过程进行详细描述。
获取漏洞查询请求的方法有多种,在一个可选的实时方式中,参考图2,获取漏洞查询请求的具体过程描述如下:
S201、根据用户的触发操作获取待检测URL链接的参数键值对,其中,参数键值对用于表征待检测URL链接的关键特征;
在获取漏洞查询请求时,先获取待检测URL链接的参数键值对。下面举例进行说明:
如果待检测URL链接为http://www.test.com/ssrf.php?FileName=1.jpg,获取得到的参数键值对即为filename。
S202、将参数键值对与字典白名单中的参数键进行匹配,其中,字典白名单中的参数键为用户或研发人员根据经验总结的出问题概率大于预设概率的参数键,参数键的数量为多个;
在得到待检测URL链接的参数键值对后,就能够将参数键值对与字典白名单中的参数键进行匹配。字典白名单中的参数键为用户或研发人员根据经验总结的出问题概率大于预设概率的参数键,具体的,字典白名单中的参数键可以为研发人员预先写入SSRF漏洞检测软件中的,这样,SSRF漏洞检测软件中自带字典白名单;字典白名单中的参数键也可以为用户在SSRF漏洞检测软件中输入待检测URL链接前,用户自定义的,本发明实施例对其不做具体限制。
下面对字典白名单中的参数键进行举例说明:形如dict=[url,href,redirect,location,message,operator,file,name,src,pic,path]等等。
步骤S201中的待检测URL链接为:
http://www.test.com/ssrf.php?FileName=1.jpg,其中的参数键值对为filename,也就是将filename与字典白名单中的url,href,redirect,location,message,operator,file,name,src,pic,path进行匹配。
S203、如果参数键值对与字典白名单中的参数键匹配,则生成随机字符串;
显然,该filename包含file,也就是该参数键值对filename与字典白名单中的参数键file匹配,那么,SSRF漏洞检测软件就会生成随机字符串,该随机字符串是唯一不重复的随机字符串,且该随机字符串为大位随机字符串,所谓的大位是指该随机字符串的位数大于10。
S204、在待检测URL链接的参数键值对后添加目标信息,得到漏洞查询请求,其中,目标信息包括:随机字符串和预先搭建的公网服务器的域名。
在得到随机字符串后,在待检测URL链接的参数键值对后添加随机字符串和预先搭建的公网服务器的域名,就能够得到漏洞查询请求。
再例如,如果待检测URL链接为http://www.baidu.com/xxx.php?FileName=1.jpg,其中的参数键值对filename与字典白名单中的参数键file匹配,那么,生成随机字符串,如test123456789,事先建立的公网服务器的域名为ssrf.com,那么,最终得到的漏洞查询请求为http://www.baidu.com/xxx.php?FileName=http://test123456789.ssrf.com。
需要说明的是,发送该请求时,实际是向baidu.com对应的服务器发送的请求,并不一定到达公网服务器,只有当待检测URL链接http://www.baidu.com/xxx.php?FileName=1.jpg存在SSRF漏洞时,用户终端才会向公网服务器发送http://test123456789.ssrf.com请求,如果不存在SSRF漏洞,公网服务器也不会收到test123456789.ssrf.com的请求。
步骤S203中只描述了参数键值对与字典白名单中的参数键匹配的情况,如果参数键值对与字典白名单中的参数键不匹配,则继续检测下一个待检测URL链接。这样,也减少了检测的次数,提高了检测效率。
上述步骤S201中根据用户的触发操作获取待检测URL链接的参数键值对的方式有多种,可选地,参考图3,根据用户的触发操作获取待检测URL链接的参数键值对的过程描述如下:
S301、根据用户的触发操作获取待检测URL链接;
该过程也就是步骤S101中描述的用户在SSRF漏洞检测软件中输入待检测URL链接的过程。
S302、对待检测URL链接进行解析,得到待处理的参数键值对;
在SSRF漏洞检测软件中存在了待检测URL链接后,SSRF漏洞检测软件就会对待检测URL链接进行解析。
例如:待检测URL链接为http://www.test.com/ssrf.php?FileName=1.jpg,对其进行解析得到待处理的参数键值对FileName。
S303、对待处理的参数键值对进行转化处理,得到待检测URL链接的参数键值对,其中,转化处理为将待处理的参数键值对中的大写字母转换为小写字母。
在得到待处理的参数键值对FileName后,对该待处理的参数键值对进行转化处理,也就是将待处理的参数键值对中的大写字母转换为小写字母,最终得到待检测URL链接的参数键值对—filename。之所以要进行转化处理是因为字典白名单中的参数键都为小写字母形式的参数键,为了统一,以进行后续的匹配,所以需要进行转化处理。
在向公网服务器的验证端口发送秘钥查询请求之前,先要得到秘钥查询请求,可选地,获取秘钥查询请求的过程包括:
对随机字符串拼接预设秘钥,得到初始查询秘钥;
例如:步骤S204中的随机字符串为test123456789,在该随机字符串前面拼接预设密钥(如:anweijing),得到anweijingtest123456789,该预设密钥为预先设置的,本发明实施例对其不做具体限制。得到的anweijingtest123456789即为初始查询秘钥。
对初始查询秘钥进行MD5加密处理,得到加密查询秘钥;
在得到初始查询密钥后,对该初始查询密钥进行MD5加密运算,得到加密查询密钥。
将加密查询秘钥置于http请求头信息中,以得到秘钥查询请求。
在得到加密查询密钥后,将该加密查询密钥置于标头(即,header)的头信息中,就能得到秘钥查询请求。
实施例二:
一种SSRF漏洞的检测装置,参考图4,应用于用户终端,该装置包括:
获取模块11,用于获取漏洞查询请求,其中,漏洞查询请求中包括:待检测URL链接,与待检测URL链接相对应的随机字符串,公网服务器的域名;
第一发送模块12,用于向待检测URL链接所对应的服务器发送漏洞查询请求,并在查询到SSRF漏洞时,得到漏洞查询结果,其中,漏洞查询结果记录于公网服务器中;
第二发送模块13,用于向公网服务器的验证端口发送秘钥查询请求,以在公网服务器中查询是否存在漏洞查询结果,其中,秘钥查询请求根据随机字符串生成;
第一确定模块14,如果公网服务器根据秘钥查询请求返回的返回结果为第一预设结果,则确定待检测URL链接存在SSRF漏洞。
在本发明的SSRF漏洞的检测装置中,先获取漏洞查询请求,该漏洞查询请求中包括:待检测URL链接,与待检测URL链接相对应的随机字符串和公网服务器的域名,然后,向待检测URL链接所对应的服务器发送该漏洞查询请求,当查询到SSRF漏洞时,将漏洞查询结果记录于公网服务器中,进而,向公网服务器的验证端口发送秘钥查询请求,以在公网服务器中查询是否存在漏洞查询结果,如果返回的返回结果为第一预设结果,则确定待检测URL链接存在SSRF漏洞。本发明中提出了一种SSRF漏洞的检测装置,该装置能够检测出待检测URL链接是否存在SSRF漏洞,缓解了现有技术中无法对SSRF漏洞进行检测的技术问题。并且,由于公网服务器的存在,本发明中的SSRF漏洞的检测装置无需使用枚举IP地址的方式发送大量探测请求包,省时省力,提高了检测效率。
可选地,漏洞查询结果为带有用户终端网络地址和随机字符串的访问记录,向公网服务器的验证端口发送秘钥查询请求,以在公网服务器中查询是否存在漏洞查询结果:
向公网服务器的验证端口发送秘钥查询请求,以在公网服务器中查询是否存在与秘钥查询请求中的随机字符串的信息相对应的访问记录。
可选地,该装置还包括:
第二确定模块,如果公网服务器根据秘钥查询请求返回的返回结果为第二预设结果,则确定待检测URL链接不存在SSRF漏洞。
可选地,获取模块包括:
获取单元,用于根据用户的触发操作获取待检测URL链接的参数键值对,其中,参数键值对用于表征待检测URL链接的关键特征;
匹配单元,用于将参数键值对与字典白名单中的参数键进行匹配,其中,字典白名单中的参数键为用户或研发人员根据经验总结的出问题概率大于预设概率的参数键,参数键的数量为多个;
生成单元,如果参数键值对与字典白名单中的参数键匹配,则生成随机字符串;
添加单元,用于在待检测URL链接的参数键值对后添加目标信息,得到漏洞查询请求,其中,目标信息包括:随机字符串和预先搭建的公网服务器的域名。
可选地,获取模块还包括:
继续检测单元,如果参数键值对与字典白名单中的参数键不匹配,则继续检测下一个待检测URL链接。
可选地,获取单元包括:
获取子单元,用于根据用户的触发操作获取待检测URL链接;
解析子单元,用于对待检测URL链接进行解析,得到待处理的参数键值对;
转化处理子单元,用于对待处理的参数键值对进行转化处理,得到待检测URL链接的参数键值对,其中,转化处理为将待处理的参数键值对中的大写字母转换为小写字母。
可选地,在第二发送模块之前,装置还包括:
拼接模块,用于对随机字符串拼接预设秘钥,得到初始查询秘钥;
加密处理模块,用于对初始查询秘钥进行MD5加密处理,得到加密查询秘钥;
设置模块,用于将加密查询秘钥置于http请求头信息中,以得到秘钥查询请求。
该实施例二中的内容可以参考上述实施例一中的内容,在此不再进行赘述。
本发明实施例所提供的一种SSRF漏洞的检测方法及装置的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种SSRF漏洞的检测方法,其特征在于,应用于用户终端,所述方法包括:
获取漏洞查询请求,其中,所述漏洞查询请求中包括:待检测URL链接,与所述待检测URL链接相对应的随机字符串,公网服务器的域名;
向所述待检测URL链接所对应的服务器发送所述漏洞查询请求,并在查询到所述SSRF漏洞时,得到漏洞查询结果,其中,所述漏洞查询结果记录于所述公网服务器中;
向所述公网服务器的验证端口发送秘钥查询请求,以在所述公网服务器中查询是否存在所述漏洞查询结果,其中,所述秘钥查询请求根据所述随机字符串生成;
如果所述公网服务器根据所述秘钥查询请求返回的返回结果为第一预设结果,则确定所述待检测URL链接存在所述SSRF漏洞。
2.根据权利要求1所述的方法,其特征在于,所述漏洞查询结果为带有用户终端网络地址和所述随机字符串的访问记录,向所述公网服务器的验证端口发送秘钥查询请求,以在所述公网服务器中查询是否存在所述漏洞查询结果:
向所述公网服务器的验证端口发送所述秘钥查询请求,以在所述公网服务器中查询是否存在与所述秘钥查询请求中的所述随机字符串的信息相对应的访问记录。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果所述公网服务器根据所述秘钥查询请求返回的返回结果为第二预设结果,则确定所述待检测URL链接不存在SSRF漏洞。
4.根据权利要求1所述的方法,其特征在于,获取漏洞查询请求包括:
根据用户的触发操作获取所述待检测URL链接的参数键值对,其中,所述参数键值对用于表征所述待检测URL链接的关键特征;
将所述参数键值对与字典白名单中的参数键进行匹配,其中,所述字典白名单中的参数键为用户或研发人员根据经验总结的出问题概率大于预设概率的参数键,所述参数键的数量为多个;
如果所述参数键值对与所述字典白名单中的参数键匹配,则生成所述随机字符串;
在所述待检测URL链接的参数键值对后添加目标信息,得到所述漏洞查询请求,其中,所述目标信息包括:所述随机字符串和预先搭建的所述公网服务器的域名。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
如果所述参数键值对与所述字典白名单中的参数键不匹配,则继续检测下一个待检测URL链接。
6.根据权利要求4所述的方法,其特征在于,根据用户的触发操作获取所述待检测URL链接的参数键值对包括:
根据用户的触发操作获取所述待检测URL链接;
对所述待检测URL链接进行解析,得到待处理的参数键值对;
对所述待处理的参数键值对进行转化处理,得到所述待检测URL链接的参数键值对,其中,所述转化处理为将所述待处理的参数键值对中的大写字母转换为小写字母。
7.根据权利要求1所述的方法,其特征在于,在向所述公网服务器的验证端口发送秘钥查询请求之前,所述方法还包括:
对所述随机字符串拼接预设秘钥,得到初始查询秘钥;
对所述初始查询秘钥进行MD5加密处理,得到加密查询秘钥;
将所述加密查询秘钥置于http请求头信息中,以得到所述秘钥查询请求。
8.一种SSRF漏洞的检测装置,其特征在于,应用于用户终端,所述装置包括:
获取模块,用于获取漏洞查询请求,其中,所述漏洞查询请求中包括:待检测URL链接,与所述待检测URL链接相对应的随机字符串,公网服务器的域名;
第一发送模块,用于向所述待检测URL链接所对应的服务器发送所述漏洞查询请求,并在查询到所述SSRF漏洞时,得到漏洞查询结果,其中,所述漏洞查询结果记录于所述公网服务器中;
第二发送模块,用于向所述公网服务器的验证端口发送秘钥查询请求,以在所述公网服务器中查询是否存在所述漏洞查询结果,其中,所述秘钥查询请求根据所述随机字符串生成;
第一确定模块,如果所述公网服务器根据所述秘钥查询请求返回的返回结果为第一预设结果,则确定所述待检测URL链接存在所述SSRF漏洞。
9.根据权利要求8所述的装置,其特征在于,所述漏洞查询结果为带有用户终端网络地址和所述随机字符串的访问记录,向所述公网服务器的验证端口发送秘钥查询请求,以在所述公网服务器中查询是否存在所述漏洞查询结果:
向所述公网服务器的验证端口发送所述秘钥查询请求,以在所述公网服务器中查询是否存在与所述秘钥查询请求中的所述随机字符串的信息相对应的访问记录。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第二确定模块,如果所述公网服务器根据所述秘钥查询请求返回的返回结果为第二预设结果,则确定所述待检测URL链接不存在SSRF漏洞。
CN201710732152.4A 2017-08-23 2017-08-23 Ssrf漏洞的检测方法及装置 Active CN107347076B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710732152.4A CN107347076B (zh) 2017-08-23 2017-08-23 Ssrf漏洞的检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710732152.4A CN107347076B (zh) 2017-08-23 2017-08-23 Ssrf漏洞的检测方法及装置

Publications (2)

Publication Number Publication Date
CN107347076A true CN107347076A (zh) 2017-11-14
CN107347076B CN107347076B (zh) 2020-01-17

Family

ID=60257561

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710732152.4A Active CN107347076B (zh) 2017-08-23 2017-08-23 Ssrf漏洞的检测方法及装置

Country Status (1)

Country Link
CN (1) CN107347076B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110011955A (zh) * 2018-12-06 2019-07-12 阿里巴巴集团控股有限公司 一种ssrf漏洞或攻击确定、处理方法、装置、设备及介质
CN110417796A (zh) * 2019-08-05 2019-11-05 杭州安恒信息技术股份有限公司 一种客户端请求处理方法、装置、设备及可读存储介质
CN111106983A (zh) * 2019-12-27 2020-05-05 杭州迪普科技股份有限公司 一种检测网络连通性的方法及装置
CN111371745A (zh) * 2020-02-21 2020-07-03 北京百度网讯科技有限公司 用于确定ssrf漏洞的方法和装置
WO2020199603A1 (zh) * 2019-04-04 2020-10-08 平安科技(深圳)有限公司 服务器漏洞检测方法、装置、设备和存储介质
CN111756728A (zh) * 2020-06-23 2020-10-09 深圳前海微众银行股份有限公司 一种漏洞攻击检测的方法及装置
CN114697102A (zh) * 2022-03-24 2022-07-01 北京思特奇信息技术股份有限公司 一种基于中间件安全漏洞检查方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070208822A1 (en) * 2006-03-01 2007-09-06 Microsoft Corporation Honey Monkey Network Exploration
CN103095681A (zh) * 2012-12-03 2013-05-08 微梦创科网络科技(中国)有限公司 一种检测漏洞的方法及装置
CN104301304A (zh) * 2014-09-16 2015-01-21 赛尔网络有限公司 基于大型isp互联口的漏洞检测系统及其方法
CN106548075A (zh) * 2015-09-22 2017-03-29 阿里巴巴集团控股有限公司 漏洞检测方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070208822A1 (en) * 2006-03-01 2007-09-06 Microsoft Corporation Honey Monkey Network Exploration
CN103095681A (zh) * 2012-12-03 2013-05-08 微梦创科网络科技(中国)有限公司 一种检测漏洞的方法及装置
CN104301304A (zh) * 2014-09-16 2015-01-21 赛尔网络有限公司 基于大型isp互联口的漏洞检测系统及其方法
CN106548075A (zh) * 2015-09-22 2017-03-29 阿里巴巴集团控股有限公司 漏洞检测方法和装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110011955A (zh) * 2018-12-06 2019-07-12 阿里巴巴集团控股有限公司 一种ssrf漏洞或攻击确定、处理方法、装置、设备及介质
CN110011955B (zh) * 2018-12-06 2022-03-04 蚂蚁蓉信(成都)网络科技有限公司 一种ssrf漏洞或攻击确定、处理方法、装置、设备及介质
WO2020199603A1 (zh) * 2019-04-04 2020-10-08 平安科技(深圳)有限公司 服务器漏洞检测方法、装置、设备和存储介质
CN110417796A (zh) * 2019-08-05 2019-11-05 杭州安恒信息技术股份有限公司 一种客户端请求处理方法、装置、设备及可读存储介质
CN111106983A (zh) * 2019-12-27 2020-05-05 杭州迪普科技股份有限公司 一种检测网络连通性的方法及装置
CN111371745A (zh) * 2020-02-21 2020-07-03 北京百度网讯科技有限公司 用于确定ssrf漏洞的方法和装置
CN111756728A (zh) * 2020-06-23 2020-10-09 深圳前海微众银行股份有限公司 一种漏洞攻击检测的方法及装置
CN111756728B (zh) * 2020-06-23 2021-08-17 深圳前海微众银行股份有限公司 一种漏洞攻击检测的方法、装置、计算设备及存储介质
CN114697102A (zh) * 2022-03-24 2022-07-01 北京思特奇信息技术股份有限公司 一种基于中间件安全漏洞检查方法和系统

Also Published As

Publication number Publication date
CN107347076B (zh) 2020-01-17

Similar Documents

Publication Publication Date Title
CN107347076A (zh) Ssrf漏洞的检测方法及装置
CN108183916B (zh) 一种基于日志分析的网络攻击检测方法及装置
CN104767775B (zh) 网页应用消息推送方法及系统
CN112131882A (zh) 一种多源异构网络安全知识图谱构建方法及装置
US9390270B2 (en) Security testing using semantic modeling
CN108989355B (zh) 一种漏洞检测方法和装置
US10855717B1 (en) Systems and methods of intelligent and directed dynamic application security testing
CN111783096B (zh) 检测安全漏洞的方法和装置
CN105472052A (zh) 一种跨域服务器的登录方法和系统
CN105553917A (zh) 一种网页漏洞的检测方法和系统
CN101340314A (zh) 一种嵌入式系统的实时调试定位方法及其装置
CN109802919B (zh) 一种web网页访问拦截方法及装置
CN110858172A (zh) 一种自动化测试代码生成方法和装置
CN104956372A (zh) 使用运行时和静态代码分析来确定动态安全扫描的覆盖率
CN111885007B (zh) 信息溯源方法、装置、系统及存储介质
CN105791261A (zh) 一种跨站脚本攻击的检测方法和检测设备
CN104252599B (zh) 一种检测跨站脚本漏洞的方法及装置
CN108769063A (zh) 一种自动化检测WebLogic已知漏洞的方法及装置
CN104375935B (zh) Sql注入攻击的测试方法和装置
CN107360189A (zh) 突破Web防护的漏洞扫描方法及装置
CN105337776A (zh) 一种生成网站指纹的方法、装置及电子设备
CN103971059A (zh) 一种Cookie本地存储与使用方法
CN103647652A (zh) 一种实现数据传输的方法、装置和服务器
WO2017215650A1 (zh) 微端的自动登录方法、装置、程序及介质
US9398041B2 (en) Identifying stored vulnerabilities in a web service

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
CB02 Change of applicant information

Address after: 310051 No. 188 Lianhui Street, Xixing Street, Binjiang District, Hangzhou City, Zhejiang Province

Applicant after: Hangzhou Annan information technology Limited by Share Ltd

Address before: Zhejiang Zhongcai Building No. 68 Binjiang District road Hangzhou City, Zhejiang Province, the 310051 and 15 layer

Applicant before: Dbappsecurity Co.,ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20201022

Address after: 201306 building C, No. 888, Huanxi 2nd Road, Lingang New Area, Pudong New Area, Shanghai

Patentee after: Shanghai Anheng times Information Technology Co., Ltd

Address before: 310051 No. 188 Lianhui Street, Xixing Street, Binjiang District, Hangzhou City, Zhejiang Province

Patentee before: Hangzhou Anheng Information Technology Co.,Ltd.

TR01 Transfer of patent right