CN106302337A - 漏洞检测方法和装置 - Google Patents

漏洞检测方法和装置 Download PDF

Info

Publication number
CN106302337A
CN106302337A CN201510268909.XA CN201510268909A CN106302337A CN 106302337 A CN106302337 A CN 106302337A CN 201510268909 A CN201510268909 A CN 201510268909A CN 106302337 A CN106302337 A CN 106302337A
Authority
CN
China
Prior art keywords
access network
customer access
leak
request
network request
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
CN201510268909.XA
Other languages
English (en)
Other versions
CN106302337B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201510268909.XA priority Critical patent/CN106302337B/zh
Publication of CN106302337A publication Critical patent/CN106302337A/zh
Application granted granted Critical
Publication of CN106302337B publication Critical patent/CN106302337B/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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1045Proxies, e.g. for session initiation protocol [SIP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及一种漏洞检测方法和装置,该方法包括:接收终端通过正向代理方式发送的用户访问网络请求;记录所述用户访问网络请求;根据记录的用户访问网络请求生成漏洞检测网络请求;将所述漏洞检测网络请求发送给所述用户访问网络请求所对应的待检测服务器;接收所述待检测服务器根据所述漏洞检测网络请求所反馈的漏洞检测响应信息;检测所述漏洞检测响应信息是否具有所述预设漏洞特征库中的预设漏洞特征,获得漏洞检测结果。本发明提供的漏洞检测方法和装置,借助用户在各种场景下产生的用户访问网络请求来进行漏洞检测,避免了因需要用户登录而导致的无法进行漏洞检测的情形,漏洞检测的覆盖率高。

Description

漏洞检测方法和装置
技术领域
本发明涉及计算机安全技术领域,特别是涉及一种漏洞检测方法和装置。
背景技术
伴随着移动互联网的飞速发展,移动应用也迅猛发展,出现了数量繁多、功能各异的移动应用。然而,移动应用的发展使得移动应用面临各种安全风险,目前的安全风险主要是在服务器端的漏洞,包括各种API(应用程序编程接口)接口引发的WEB(网站)漏洞和服务器漏洞。恶意用户利用这些漏洞可以获取用户隐私、钓鱼欺诈,还可以入侵服务器以窃取核心源代码或用户数据库等,危害极大。
目前可以通过数据包抓取工具来抓取网络中传输的数据包,进而对抓取的数据包进行漏洞检测,其中fiddler2工具就是一种常用的数据包抓取工具。然而,数据包抓取工具能够抓取的数据包是局限的,比如一些需要用户登录后才能产生的数据包通过数据包抓取工具是抓取不到的。这样根据抓取的数据包进行漏洞检测所检测出的漏洞也是局限的,能够检测出的漏洞较少,需要改进。
发明内容
基于此,有必要针对目前的漏洞检测方法所能够检测出的漏洞少的技术问题,提供一种漏洞检测方法和装置。
一种漏洞检测方法,所述方法包括:
接收终端通过正向代理方式发送的用户访问网络请求;
记录所述用户访问网络请求;
根据记录的用户访问网络请求生成漏洞检测网络请求;
将所述漏洞检测网络请求发送给所述用户访问网络请求所对应的待检测服务器;
接收所述待检测服务器根据所述漏洞检测网络请求所反馈的漏洞检测响应信息;
检测所述漏洞检测响应信息是否具有所述预设漏洞特征库中的预设漏洞特征,获得漏洞检测结果。
一种漏洞检测装置,所述装置包括:
请求接收模块,用于接收终端通过正向代理方式发送的用户访问网络请求;
记录模块,用于记录所述用户访问网络请求;
漏洞检测网络请求生成模块,用于根据记录的用户访问网络请求生成漏洞检测网络请求;
请求发送模块,用于将所述漏洞检测网络请求发送给所述用户访问网络请求所对应的待检测服务器;
漏洞检测响应信息接收模块,用于接收所述待检测服务器根据所述漏洞检测网络请求所反馈的漏洞检测响应信息;
漏洞检测模块,用于检测所述漏洞检测响应信息是否具有所述预设漏洞特征库中的预设漏洞特征,获得漏洞检测结果。
上述漏洞检测方法和装置,使用终端的用户可以通过终端进行各种操作从而产生各种用户访问网络请求。接收终端通过正向代理方式发送的用户访问网络请求并记录,这样就可以获取到用户在各种场景下产生的用户访问网络请求。用于检测漏洞的漏洞检测网络请求是根据用户访问网络请求生成的,这样可以借助用户在各种场景下产生的用户访问网络请求来进行漏洞检测,避免了因需要用户登录而导致的无法进行漏洞检测的情形,漏洞检测的覆盖率高。
附图说明
图1为一个实施例中漏洞检测***的应用环境图;
图2为一个实施例中服务器的组成结构示意图;
图3为另一个实施例中服务器的组成结构示意图;
图4为一个实施例中漏洞检测方法的流程示意图;
图5为一个实施例中终端的超文本传输协议代理配置页面的示意图;
图6为一个实施例中漏洞检测报告的示意图;
图7为一个实施例中漏洞检测装置的结构框图;
图8为另一个实施例中漏洞检测装置的结构框图;
图9为再一个实施例中漏洞检测装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,在一个实施例中,提供了一种漏洞检测***100,包括终端102和服务器104,终端102可通过服务器104访问待检测服务器110。在一个实施例中,终端102包括台式计算机和移动终端,移动终端包括手机、平板电脑、智能手表以及电子阅读器等。
在一个实施例中,服务器104的结构如图2所示,包括通过***总线连接的处理器、内存储器、非易失性存储介质和网络接口。该处理器具有计算的功能和控制整个服务器104运行的功能,该处理器被配置为执行一种漏洞检测方法。非易失性存储介质包括磁存储介质、光存储介质和闪存式的存储介质。该非易失性存储介质存储有操作***、数据库和一种漏洞检测装置,该漏洞检测装置用于实现一种漏洞检测方法。网络接口用于在处理器指令下与终端102和待检测服务器110通信。
如图3所示,在一个实施例中,服务器104包括代理服务器104a、数据库服务器104b和漏洞检测服务器104c;漏洞检测服务器104c可连接到待检测服务器110。
如图4所示,在一个实施例中,提供了一种漏洞检测方法,本实施例以该方法应用于上述图3中的服务器104来举例说明,可以理解该方法也可以在上述图2中的服务器104上实现。该方法具体包括如下步骤:
步骤402,接收终端通过正向代理方式发送的用户访问网络请求。
具体地,服务器104的代理服务器104a接收终端102通过正向代理方式发送的用户访问网络请求。其中用户访问网络请求是指用户触发的用来访问目标服务器的网络请求。网络请求包括HTTP(HyperText Transfer Protocol,超文本传输协议)请求、HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer,基于安全套接字层的超文本传输协议)请求和FTP(File Transfer Protocol,文件传输协议)请求。在检测漏洞时用户访问的目标服务器作为待检测服务器。
其中,正向代理方式,是指终端102在访问目标服务器时,通过代理服务器104a的中转将用户访问网络请求发送给目标服务器,并接收目标服务器根据用户访问网络请求反馈的响应信息,再将该响应信息反馈给终端102。
在一个实施例中,该漏洞检测方法还包括:终端102获取在超文本传输协议代理配置页面中输入的代理服务器地址和代理端口,并根据代理服务器地址和代理端口创建正向代理方式的网络连接。
具体地,终端102展示如图5所示的超文本传输协议代理配置页面,用户在该超文本传输协议代理配置页面中输入的代理服务器地址为代理服务器104a的地址,输入的代理端口为代理服务器104a所监听的端口。这样终端102就可以根据代理服务器地址和代理端口创建与代理服务器104a的网络连接,该网络连接为正向代理方式的网络连接。
步骤404,记录用户访问网络请求。
具体地,用户访问网络请求携带有待检测服务器的网络地址,服务器104的代理服务器104a一方面将用户访问网络请求转发给待检测服务器,另一方面将该用户访问网络请求记录下来。具体代理服务器104a将用户访问网络请求记录在服务器104的数据库服务器104b中。在一个实施例中,服务器104可以日志形式记录用户访问网络请求。
步骤406,根据记录的用户访问网络请求生成漏洞检测网络请求。
具体地,服务器104的漏洞检测服务器104c从数据库服务器104b中读取记录的用户访问网络请求,从而根据该记录的用户访问网络请求生成漏洞检测网络请求。具体服务器104的漏洞检测服务器104c可将用于检测漏洞的参数拼接到用户访问网络请求后面构成漏洞检测网络请求,也可以通过修改用户访问网络请求中的参数为用于检测漏洞的参数,从而获得漏洞检测网络请求。漏洞检测网络请求是指用于检测漏洞的网络请求。
这里用于检测漏洞的参数可以是穷举所有的可选参数,或者只选取可能引发漏洞的参数。用于检测漏洞的参数是与预设漏洞特征库中的预设漏洞特征对应的。漏洞是在硬件、软件、协议的具体实现或***安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏***,比如任意文件下载漏洞、XSS(跨站脚本攻击)漏洞、反射式XSS漏洞以及跳转漏洞等。
步骤408,将漏洞检测网络请求发送给用户访问网络请求所对应的待检测服务器。
具体地,用户访问网络请求所对应的待检测服务器,是指用户原本意图访问的目标服务器,在检测漏洞时作为待检测服务器。服务器104的漏洞检测服务器104c将漏洞检测网络请求发送给待检测服务器。
步骤410,接收待检测服务器根据漏洞检测网络请求所反馈的漏洞检测响应信息。
具体地,服务器104的漏洞检测服务器104c接收待检测服务器根据漏洞检测网络请求所反馈的漏洞检测响应信息。漏洞检测响应信息是指漏洞检测网络请求所对应的响应信息。
步骤412,检测漏洞检测响应信息是否具有预设漏洞特征库中的预设漏洞特征,获得漏洞检测结果。
服务器104的漏洞检测服务器104c检测漏洞检测响应信息是否具有预设漏洞特征库中的预设漏洞特征,若具有预设漏洞特征则判定存在漏洞,若不具有预设漏洞特征则判定不存在漏洞。具体地,预设漏洞特征可以为正则表达式的形式,这样可以在漏洞检测响应信息中查找与该正则表达式形式的预设漏洞特征匹配的字符或者字符串,若查找到则说明存在漏洞,若查找不到说明不存在漏洞。
举例说明,若记录的用户访问网络请求为“http://www.abc123456.com/download.PHP?filename=”,在其后拼接用于检测漏洞的参数,获得漏洞检测网络请求为“http://www.abc123456.com/download.PHP?filename=../../../../../../../../../../etc/passwd”。将漏洞检测网络请求发送给用户访问网络请求所对应的待检测服务器,并接收到待检测服务器根据漏洞检测网络请求所反馈的漏洞检测响应信息的具体内容(body部分)如下:
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/false
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/false
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System(admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
Debian-exim:x:101:103::/var/spool/exim4:/bin/false
statd:x:102:65534::/var/lib/nfs:/bin/false
sshd:x:103:65534::/var/run/sshd:/usr/sbin/nologin
ntp:x:104:106::/home/ntp:/bin/false
mysql:x:105:108:MySQL Server,,,:/var/lib/mysql:/bin/false
san:x:1000:1000:,,,:/home/san:/bin/bash
puppet:x:106:109:Puppet configuration management daemon,,,:/var/lib/puppet:/bin/false
sim:x:1001:1002::/home/sim:/bin/sh
somesecguy:x:1002:0::/home/somesecguy:/bin/bash
john:x:1003:1003::/home/john:/bin/sh
若预设漏洞特征库中的一个预设漏洞特征用于检测任意文件下载漏洞,则预设漏洞特征可用正则表达式表示为:((root|bin|daemon|sys|sync|games|man|mail|news|www-data|uucp|backup|list|proxy|gnats|nobody|syslog|mysql|bind|ftp|sshd|postfix):[\d\w-\s,]+:\d+:\d+:[\w-_\s,]*:[\w-_\s,\/]*:[\w-_,\/]*[\r\n])。该正则表达式中,“|”表示逻辑或运算,“\d”表示匹配数字,“\w”表示匹配字母或数字或下划线或汉字,“\s”表示匹配任意的空白符,“-”表示连接符,“+”表示将其之前的字符重复一次或多次进行匹配,“\/”表示字符“/”,“*”表示匹配其前面的子表达式零次或多次,\r表示匹配一个回车符,\n表示匹配一个换行符。若在响应信息的具体内容中找到与上述正则表达式匹配的字符串,则可以判定存在任意文件下载漏洞,若找不到匹配的字符串,则可以判定不存在任意文件下载漏洞。检测不同的漏洞可以采用不同的正则表达式,这里不一一赘述。
上述漏洞检测方法,使用终端的用户可以通过终端进行各种操作从而产生各种用户访问网络请求。接收终端通过正向代理方式发送的用户访问网络请求并记录,这样就可以获取到用户在各种场景下产生的用户访问网络请求。用于检测漏洞的漏洞检测网络请求是根据用户访问网络请求生成的,这样可以借助用户在各种场景下产生的用户访问网络请求来进行漏洞检测,避免了因需要用户登录而导致的无法进行漏洞检测的情形,漏洞检测的覆盖率高。
在一个实施例中,在步骤406之前还包括:对记录的用户访问网络请求进行去重处理;和/或,从记录的用户访问网络请求中过滤掉用于请求静态内容的用户访问网络请求。
具体地,去重处理是指去除重复的用户访问网络请求。静态内容是指可以直接获取的内容,不需要执行ASP(Active Server Page,动态服务器页面)、PHP(Hypertext Preprocessor,超文本预处理器)或者JSP(Java Server Pages,java服务器页面)等服务器程序来生成。在一个实施例中,静态内容包括:图片、文本文档、HTML(超文本标记语言)静态页面以及媒体文件。
本实施例中,对记录的用户访问网络请求进行去重处理,可以提高检测漏洞的效率。而且由于静态内容一般不会引发漏洞,过滤掉这部分用户访问网络请求也可以提高检测漏洞的效率。
在一个实施例中,用于请求静态内容的用户访问网络请求,包括:所携带的动态内容参数个数为0的用户访问网络请求,具体地,用于请求静态内容的用户访问网络请求的网址一般不含有“?”、“=”、“&”等动态内容参数。当用户访问网络请求不携带有这些动态内容参数时,可认为是用于请求静态内容的用户访问网络请求。
在一个实施例中,用于请求静态内容的用户访问网络请求,包括:所请求的文件的扩展名包括静态文件扩展名的用户访问网络请求。本实施例中,通过匹配扩展名可以快速区分出用于请求静态内容的用户访问网络请求,可以进一步提高检测漏洞的效率。
具体地,静态文件扩展名包括图片的扩展名、文本文档的扩展名、HTML静态页面的扩展名以及媒体文件的扩展名。其中,图片的扩展名包括jpeg、png、gif以及ico等;文本文档的扩展名包括doc、pdf、txt以及xls等;HTML静态页面的扩展名包括css、js或者html等;媒体文件的扩展名包括mpeg、mp3、avi、flv、swf以及wma等。
在一个实施例中,可以从记录的用户访问网络请求中查找与静态文件扩展名所对应的正则表达式匹配的字符串,若查找到相应的字符串则过滤掉该用户访问网络请求。其中图片的扩展名所对应的正则表达式可为:"\.(?:(?:jpe?|pn)g|gif|ico)$";文本文档的扩展名所对应的正则表达式可为:"\.(?:doc|pdf|txt|xls)$";HTML静态页面的扩展名所对应的正则表达式可为:"\.(?:(?:cs|j)s|html?)$";媒体文件的扩展名所对应的正则表达式可为:"\.(?:mp(?:e?g|3)|avi|flv|swf|wma)$"。这里“\.”表示匹配字符“.”,“(?:pattern)”表示匹配模式pattern但不获取具体的匹配结果,“$”表示匹配输入字符串的结束位置。
在一个实施例中,服务器104向终端102提供正向代理服务,需要事先进行配置,这里以Apache(一种服务器软件),版本为2.4.2为例说明配置方式,具体如下:
1),开启Apache的代理模块
修改Apache的主程序配置文件httpd.conf,修改如下。
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so。
上述对主程序配置文件httpd.conf的修改中,LoadModule表示加载模块的命令,LoadModule proxy_module modules/mod_proxy.so,表示加载文件位置为modules/mod_proxy.so的模块标识为proxy_module的模块,模块标识可以唯一标识出一个模块。Apache中的一个模块是指可以独立存在并在需要时通过加载方式结合到目标***中的一种数据对象。.so是共享函数库的扩展名。
mod_proxy.so是代理基础服务模块,mod_proxy_connect是用于支持connect命令的代理子模块,connect命令的作用就是把服务器104作为中转,让服务器104代替用户去访问其它网页,之后把数据原原本本的返回给用户,proxy_ftp.so是用于支持FTP的代理子模块,mod_proxy_http.so是用于支持HTTP的代理子模块。
这样配置完成后,服务器104提供的代理服务支持connect命令,并支持FTP和HTTP,兼容性强。
2),调用虚拟机配置文件httpd-vhosts.conf:
Include conf/extra/httpd-vhosts.conf。
3),加载SSL(Secure Sockets Layer,安全套接层)模块:
LoadModule ssl_module modules/mod_ssl.so。
其中,加载mod_ssl.so获得SSL模块,这样服务器104可以支持基于HTTPS的用户访问网络请求。
4),加载安全防护模块mod_security,并调用安全防护配置文件mod_security.conf。
LoadModule security2_modules modules/mod_security2.so
Include conf/mod_security.conf。
其中,加载mod_security2.so获得安全防护模块,本实施例的漏洞检测方法主要利用安全防护模块的日志记录功能,后续将对该安全防护模块进行配置。
5),配置虚拟机配置文件httpd-vhosts.conf,具体配置以及注释如下:
<VirtualHost*:8882>#配置监听端口为8882。
DocumentRoot"/usr/local/apache/htdocs"#配置文件根目录。
CustomLog logs/test8882-access_log common#配置日志文件的文件名和格式。
<IfModule mod_proxy.c>
ProxyRequests On#配置为开启正向代理方式。
<Proxy*>
Order deny,allow
Allow from all#配置用户访问控制信息,这里配置为允许所有用户访问,也可以根据需要配置为限定允许部分用户访问,比如Allow from110.110.110.110,表示配置为只允许IP地址为110.110.110.110的用户访问。
</Proxy>
6),配置安全防护配置文件mod_security.conf,具体配置如下:
SecRuleEngine DetectionOnly
SecRequestBodyAccess On
SecResponseBodyAccess On
SecAuditEngine RelevantOnly
SecAuditLogRelevantStatus“^(?:5|2|3|4(?!04))”
SecAuditLogParts ABC
SecAuditLog/usr/local/apache/logs/audit.log
SecAuditLogType Serial
其中,安全规则处理配置命令SecRuleEngine用于配置对于安全规则的处理,若配置为On(开启),表示处理安全规则;若配置为Off(关闭),表示不处理安全规则;若配置为DetectionOnly(仅检查),表示处理安全规则,但不开启防护。这里由于仅利用安全防护模块的日志功能,配置为DetectionOnly。
请求体检查配置命令SecRequestBodyAccess用于配置是否检查用户访问网络请求的请求体。网络请求包括请求头和请求体,请求体是指请求的具体内容。这里配置为On,表示需要检查用户访问网络请求的请求体。
响应内容检查配置命令SecResponseBodyAccess用于配置是否检查用户访问网络请求所对应的响应信息的响应内容。响应信息包括响应头和相应内容。这里配置为On,表示需要检查用户访问网络请求所对应的响应信息的响应内容。
日志引擎配置命令SecAuditEngine用于配置日志引擎的开启与否。若配置为On,表示记录所有事务的日志;配置为Off,表示不记录所有事务的日志;配置为RelevantOnly,表示只记录事务中因警告(warning)或者错误(error)触发的日志,或者记录一些特定的状态码对应的日志。这里配置为RelevantOnly,用于记录与漏洞检测相关的日志。
日志相关响应状态码配置命令SecAuditLogRelevantStatus用于配置哪些响应状态码与记录的日志的目的密切相关,配置为一个正则表达式:“^(?:5|2|3|4(?!04))”,表示匹配每一个以5开头的响应状态码(表示服务器错误)、以2开头的响应状态码(200,表示请求成功)、以3开头的响应状态码(表示目录限制)或者除了404的响应状态码(表示用户错误)的用户访问网络请求都会被记录。这“^”表示匹配输入字符串的开始位置。“(?!pattern)”表示正向否定预查,在任何不匹配pattern的字符串开始处匹配查找字符串,例如“Windows(?!95|98|NT|2000)”能匹配“Windows3.1”中的“Windows”,但不能匹配“Windows2000”中的“Windows”。
日志内容配置命令SecAuditLogParts用于配置每个事务中记录到日志中的部分。每部分以一个独立的字母表示,当某个字母出现在列表中,也就是指每个事务中的该部分会被记录。这里配置为ABC,A表示记录日志的标题,包括用户访问网络请求的基础信息,该基础信息包括:请求时间、请求源地址、请求端口、目的地址以及目的端口。B表示记录用户访问网络请求的标题,包括用户访问网络请求的请求头中除去基础信息之后的全部或者部分信息。C表示记录用户访问网络请求的请求体,比如post(HTTP中用于传输数据的命令)或者get(HTTP中用于获取数据的命令)的具体内容。
举例说明,以日志形式记录的用户访问网络请求可记录如下:
--3b2488z6-A--(日志的标题)
[20/Mar/2015:11:45:49 +0700]Gi3FfBJR87wBBA63D5HAAAEF 110.110.110.110 8882 101.227.143.34 80
--3b2488z6-B--(用户访问网络请求的标题)
POST/mp/appmsgreport?action=page_time&uin=MTA3***&key=************&pass_ticket=*********HTTP/1.1
Host:mp.*****.**.com
Accept-Language:zh-cn
User-Agent:Mozilla/5.0(iPhone;CPU iPhone OS 8_1_3 like Mac OS X)AppleWebKit/600.1.4(KHTML,like Gecko)Mobile/12B466 MicroMessenger/6.1.1 NetType/WIFI
X-Requested-With:XMLHttpRequest
Accept:*/*
Referer:https://mp.*****.**.com/s?__biz=MjM5NjExMjcwMA==&mid=206315928&idx=4&sn=*********&key=*********&ascene=1&uin=MTA3***&devicetype=iPhone+OS8.1.3&version=16010112&nettype=WIFI&fontScale=100&pass_ticket=************
Content-Type:application/x-www-form-urlencoded;charset=UTF-8
Connection:keep-alive
Cookie:3g_guest_id=-***;g_ut=3;lskey=00010000a27b45b83e1d***;luin=o0***;pgv_info=ssid=s913***;pgv_pvi=7672***;pgv_pvid=4907***;pt2gguin=o000***;ptcz=***;ptisp=ctc;RK=YJ***;sd_cookie_crttime=1426676796369;sd_userid=507014***;skey=@SN***;uin=o00***
Proxy-Connection:keep-alive
Content-Length:599
Origin:https://mp.*****.**.com
Accept-Encoding:gzip,deflate
--3b2488z6-C--(用户访问网络请求的请求体)
__biz=MjM5NjExMjcwMA%3D%3D&title=%E3%80%90%E5%B0%8FQ%E6%92%AD%E6%8A%A5%E3%80%912015QQ%E9%9F%B3%E4%B9%90%E5%B9%B4%E5%BA%A6%E7%9B%9B%E5%85%B8%E9%97%A8%E7%A5%A8%E9%99%90%E9%87%8F%E5%BC%80%E6%8A%A2%EF%BC%81&mid=206315928&idx=4&read_cnt=174&like_cnt=1&screen_height=504&screen_num=6&video_cnt=0&img_cnt=0&read_screen_num=6&is_finished_read=1&scene=&content_len=30881&start_time=1427080987224&end_time=1427081042724&img_640_cnt=3&img_0_cnt=0&img_300_cnt=0&wtime=0&ftime=0&ptime=0&wifi_all_imgs_cnt=3&wifi_read_imgs_cnt=2&download_cdn_webp_img_cnt=0&download_img_cnt=3&download_cdn_img_cnt=3&img_jpeg_cnt=2。
日志路径配置命令SecAuditLog用于配置日志的文件路径。日志记录方式配置命令SecAuditLogType用于配置记录日志的方式,这里配置为Serial,表示所有的日志条目都被存储在主日志记录文件中,调用很方便。
上述基于Apache的漏洞检测方法,可以通过调整预设漏洞特征库来灵活调整漏洞检测规则,而不需要编写专门的插件。可支持HTTPS,输出的漏洞检测报告可读性强、对运行平台没有限制,可以跨平台部署。可基于记录的用户访问网络请求进行多线程分布式检测,漏洞检测效率将显著提高。可直接部署在服务器104,支持多用户,扩展性强,易接入。
在一个实施例中,在步骤402之前,还包括:读取第一配置文件中的第一配置信息;则步骤402具体包括:根据第一配置信息接收终端通过正向代理方式发送的用户访问网络请求。其中,第一配置信息包括:监听端口、正向代理开关信息以及用户访问控制信息;监听端口为终端所设置的代理端口,正向代理开关信息为开启。
具体地,第一配置文件可包括上述虚拟机配置文件。服务器104配置监听端口,移动终端配置代理端口为该监听端口,服务器104将监听通过该端口的用户访问网络请求。正向代理开关信息用于表示是否开启正向代理方式。用户访问控制信息用于对用户进行访问控制。
本实施例中,根据第一配置信息提供正向代理服务,从而接收终端通过正向代理方式发送的用户访问网络请求。
在一个实施例中,步骤404包括:读取第二配置文件中的第二配置信息,根据第二配置信息,以日志形式记录用户访问网络请求。第二配置信息包括:配置为在检测到用户访问网络请求命中安全规则时,以日志形式记录用户访问网络请求的配置信息;和/或,配置为在检测到用户访问网络请求所对应的响应状态码为漏洞相关响应状态码时,以日志形式记录用户访问网络请求的配置信息。
具体地,第二配置文件可包括上述安全防护配置文件。安全规则是指用来识别出有可能触发漏洞的用户访问网络请求的识别条件。安全规则可以用正则表达式表示,此时若从用户访问网络请求中查找到与安全规则的正则表达式匹配的字符串,则表示命中该安全规则。比如安全规则可以是用户访问网络请求具有触发漏洞的能力的参数或者函数。
漏洞相关响应状态码,是指用于触发该漏洞相关响应状态码的用户访问网络请求具有触发漏洞的能力,认为该状态响应码是与漏洞相关的。漏洞相关响应状态码比如上述以5开头的响应状态码、以2开头的响应状态码、以3开头的响应状态码或者除了404的响应状态码。
本实施例中,在检测到用户访问网络请求命中安全规则时,或者在检测到用户访问网络请求所对应的响应状态码为漏洞相关响应状态码时,以日志形式记录用户访问网络请求,这样可以选择性地记录有可能触发漏洞的用户访问网络请求进行记录,可以进一步提高漏洞检测的效率。
在一个实施例中,在步骤404之后,还包括:根据记录的用户访问网络请求形成待检测列表中的条目并显示,每个条目包括用户访问网络请求的URL(统一资源定位符)、请求的网络地址、请求体、提交检测状态以及条目***时间。在执行步骤406时,更新待检测列表中相应的用户访问网络请求对应的条目的提交检测状态。比如待检测列表可如表一所示:
表一:
在一个实施例中,该漏洞检测方法还包括:根据漏洞检测结果生成漏洞处理列表中的条目并显示,每个条目包括:请求的域名或者网络地址、检测漏洞的事件名称、条目处理状态、条目***时间、检测的漏洞类型以及风险等级。在漏洞被修复后,更新相应条目中的条目处理状态,并添加处理完成时间和漏洞属性。
其中,检测漏洞的事件名称用来说明检测时间的简要信息,条目处理状态用来表示相应的条目是否被处理,检测的漏洞类型比如文件包含漏洞、管理后台漏洞、跳转漏洞、XXS漏洞、SQL注入漏洞或者测试页面未删除漏洞等,漏洞属性表示该漏洞是否有威胁。
危险等级可以分为三个等级,即高危险等级、中危险等级以及低危险等级。其中高危险等级对应直接获取服务器权限的漏洞、直接导致严重的信息泄漏漏洞、直接导致严重影响的逻辑漏洞、直接盗取用户身份信息的漏洞以及服务器越权访问漏洞。其中直接获取服务器权限的漏洞包括任意命令执行漏洞、上传webshell(一种命令执行环境)和任意代码执行漏洞。直接导致严重的信息泄漏漏洞包括重要数据库的SQL注入漏洞。直接导致严重影响的逻辑漏洞包括任意帐号密码更改漏洞。直接盗取用户身份信息的漏洞包括非重要数据库的SQL注入漏洞。服务器越权访问漏洞包括绕过认证访问服务器的漏洞。
中危险等级对应需交互才能获取用户身份信息的漏洞、任意文件操作漏洞和文件越权访问漏洞。需交互才能获取用户身份信息的漏洞包括存储型XSS漏洞,任意文件操作漏洞包括任意文件读、写、删除、下载等操作的漏洞,文件越权访问漏洞包括绕过限制修改用户资料、执行用户操作。
低危险等级则对应普通逻辑漏洞和需交互才能获取用户身份信息并且有一定利用难度的漏洞。普通逻辑漏洞包括提交操作无限制的漏洞,需交互才能获取用户身份信息并且有一定利用难度的漏洞包括反射型XSS漏洞。
举例说明,漏洞检测列表可如表二所示:
表二:
在一个实施例中,该漏洞检测方法还包括:根据漏洞检测结果生成按照请求的访问的站点归类的漏洞检测报告。漏洞检测报告可以包括:站点标识、用户访问请求提交人信息、漏洞检测开始时间、漏洞检测结束时间、检测到的漏洞总数、站点风险等级、风险评分、漏洞关注人信息、漏洞处理进度以及漏洞详细信息。漏洞详细信息包括漏洞的风险等级、漏洞类型以及引发漏洞的URL。站点风险等级以及站点评分可以根据对应的漏洞的风险等级和/或漏洞数量来确定。举例来说,漏洞检测报告可如图6所示。
在具体的应用场景中,移动应用的测试用户可以在移动终端上配置代理服务器和代理端口,创建正向代理方式的网络连接,连接到服务器104。这样测试用户可以在移动终端上正常使用和测试移动应用,服务器104将测试用户触发的用户访问网络请求代理转发给待检测服务器110的同时,将完整的用户访问网络请求以日志形式记录下来,然后就可以根据记录的用户访问网络请求对待检测服务器110进行漏洞检测。然后可以形成漏洞检测报告,通知移动应用开发人员及时修复漏洞。
如图7所示,在一个实施例中,提供了一种漏洞检测装置700,具有实现上述各个实施例的漏洞检测方法的功能。该漏洞检测装置700包括:请求接收模块701、记录模块702、漏洞检测网络请求生成模块703、请求发送模块704、漏洞检测响应信息接收模块705和漏洞检测模块706。
请求接收模块701,用于接收终端通过正向代理方式发送的用户访问网络请求。
具体地,请求接收模块701可用于接收终端102通过正向代理方式发送的用户访问网络请求。其中用户访问网络请求是指用户触发的用来访问目标服务器的网络请求。网络请求包括HTTP请求、HTTPS请求和FTP请求。在检测漏洞时用户访问的目标服务器作为待检测服务器。
记录模块702,用于记录用户访问网络请求。
具体地,用户访问网络请求携带有待检测服务器的网络地址,漏洞检测装置700的代理模块(图中未示出)用于将用户访问网络请求转发给待检测服务器,记录模块702用于将该用户访问网络请求记录下来。在一个实施例中,记录模块702可用于以日志形式记录用户访问网络请求。
漏洞检测网络请求生成模块703,用于根据记录的用户访问网络请求生成漏洞检测网络请求。
具体地,漏洞检测网络请求生成模块703用于读取记录的用户访问网络请求,从而根据该记录的用户访问网络请求生成漏洞检测网络请求。具体漏洞检测网络请求生成模块703可用于将用于检测漏洞的参数拼接到用户访问网络请求后面构成漏洞检测网络请求,也可以用于通过修改用户访问网络请求中的参数为用于检测漏洞的参数,从而获得漏洞检测网络请求。漏洞检测网络请求是指用于检测漏洞的网络请求。这里用于检测漏洞的参数可以是穷举所有的可选参数,或者只选取可能引发漏洞的参数。用于检测漏洞的参数是与预设漏洞特征库中的预设漏洞特征对应的。
请求发送模块704,用于将漏洞检测网络请求发送给用户访问网络请求所对应的待检测服务器。具体地,用户访问网络请求所对应的待检测服务器,是指用户原本意图访问的目标服务器,在检测漏洞时作为待检测服务器。
漏洞检测响应信息接收模块705,用于接收待检测服务器根据漏洞检测网络请求所反馈的漏洞检测响应信息。其中,漏洞检测响应信息是指漏洞检测网络请求所对应的响应信息。
漏洞检测模块706,用于检测漏洞检测响应信息是否具有预设漏洞特征库中的预设漏洞特征,获得漏洞检测结果。
漏洞检测模块706可用于检测漏洞检测响应信息是否具有预设漏洞特征库中的预设漏洞特征,若具有预设漏洞特征则判定存在漏洞,若不具有预设漏洞特征则判定不存在漏洞。具体地,预设漏洞特征可以为正则表达式的形式,这样可以在漏洞检测响应信息中查找与该正则表达式形式的预设漏洞特征匹配的字符或者字符串,若查找到则说明存在漏洞,若查找不到说明不存在漏洞。
在一个实施例中,终端102用于获取在超文本传输协议代理配置页面中输入的代理服务器地址和代理端口,并根据代理服务器地址和代理端口创建正向代理方式的网络连接。
具体地,终端102展示如图5所示的超文本传输协议代理配置页面,用户在该超文本传输协议代理配置页面中输入的代理服务器地址为代理服务器104a的地址,输入的代理端口为代理服务器104a所监听的端口。这样终端102就可以根据代理服务器地址和代理端口创建正向代理方式的网络连接。
如图8所示,在一个实施例中,漏洞检测装置700还包括:去重处理模块707和/或过滤模块708。
去重处理模块707用于对记录的用户访问网络请求进行去重处理。具体地,去重处理是指去除重复的用户访问网络请求。
过滤模块708用于从记录的用户访问网络请求中过滤掉用于请求静态内容的用户访问网络请求。静态内容是指可以直接获取的内容,不需要执行ASP、PHP或者JSP等服务器程序来生成。在一个实施例中,静态内容包括:图片、文本文档、HTML静态页面以及媒体文件。
本实施例中,对记录的用户访问网络请求进行去重处理,可以提高检测漏洞的效率。而且由于静态内容一般不会引发漏洞,过滤掉这部分用户访问网络请求也可以提高检测漏洞的效率。
在一个实施例中,用于请求静态内容的用户访问网络请求,包括:所携带的动态内容参数个数为0的用户访问网络请求,具体地,用于请求静态内容的用户访问网络请求的网址一般不含有“?”、“=”、“&”等动态内容参数。当用户访问网络请求不携带有这些动态内容参数时,可认为是用于请求静态内容的用户访问网络请求。
在一个实施例中,用于请求静态内容的用户访问网络请求,包括:所请求的文件的扩展名包括静态文件扩展名的用户访问网络请求。本实施例中,通过匹配扩展名可以快速区分出用于请求静态内容的用户访问网络请求,可以进一步提高检测漏洞的效率。
具体地,静态文件扩展名包括图片的扩展名、文本文档的扩展名、HTML静态页面的扩展名以及媒体文件的扩展名。其中,图片的扩展名包括jpeg、png、gif以及ico等;文本文档的扩展名包括doc、pdf、txt以及xls等;HTML静态页面的扩展名包括css、js或者html等;媒体文件的扩展名包括mpeg、mp3、avi、flv、swf以及wma等。
在一个实施例中,可以从记录的用户访问网络请求中查找与静态文件扩展名所对应的正则表达式匹配的字符串,若查找到相应的字符串则过滤掉该用户访问网络请求。其中图片的扩展名所对应的正则表达式可为:"\.(?:(?:jpe?|pn)g|gif|ico)$";文本文档的扩展名所对应的正则表达式可为:"\.(?:doc|pdf|txt|xls)$";HTML静态页面的扩展名所对应的正则表达式可为:"\.(?:(?:cs|j)s|html?)$";媒体文件的扩展名所对应的正则表达式可为:"\.(?:mp(?:e?g|3)|avi|flv|swf|wma)$"。这里“\.”表示匹配字符“.”,“(?:pattern)”表示匹配模式pattern但不获取具体的匹配结果,“$”表示匹配输入字符串的结束位置。
在一个实施例中,漏洞检测装置700还包括代理模块,代理模块至少包括代理基础服务模块,还可以包括用于支持connect命令的代理子模块、用于支持FTP的代理子模块、用于支持HTTP的代理子模块以及SSL模块中的至少一种。本实施例中记录模块702可用具有日志记录功能的安全防护模块实现。
如图9所示,在一个实施例中,漏洞检测装置700还包括:第一配置信息读取模块709,用于读取第一配置文件中的第一配置信息;第一配置信息包括:监听端口、正向代理开关信息以及用户访问控制信息;监听端口为终端所设置的代理端口,正向代理开关信息为开启。请求接收模块701还用于根据第一配置信息接收终端通过正向代理方式发送的用户访问网络请求。
在一个实施例中,记录模块702还用于读取第二配置文件中的第二配置信息,根据第二配置信息,以日志形式记录用户访问网络请求;第二配置信息包括:配置为在检测到用户访问网络请求命中安全规则时,以日志形式记录用户访问网络请求的配置信息;和/或,配置为在检测到用户访问网络请求所对应的响应状态码为漏洞相关响应状态码时,以日志形式记录用户访问网络请求的配置信息。
具体地,第二配置文件可包括上述安全防护配置文件。安全规则是指用来识别出有可能触发漏洞的用户访问网络请求的识别条件。安全规则可以用正则表达式表示,此时若从用户访问网络请求中查找到与安全规则的正则表达式匹配的字符串,则表示命中该安全规则。比如安全规则可以是用户访问网络请求具有触发漏洞的能力的参数或者函数。
漏洞相关响应状态码,是指用于触发该漏洞相关响应状态码的用户访问网络请求具有触发漏洞的能力,认为该状态响应码是与漏洞相关的。漏洞相关响应状态码比如上述以5开头的响应状态码、以2开头的响应状态码、以3开头的响应状态码或者除了404的响应状态码。
本实施例中,在检测到用户访问网络请求命中安全规则时,或者在检测到用户访问网络请求所对应的响应状态码为漏洞相关响应状态码时,以日志形式记录用户访问网络请求,这样可以选择性地记录有可能触发漏洞的用户访问网络请求进行记录,可以进一步提高漏洞检测的效率。
上述漏洞检测装置700,使用终端的用户可以通过终端进行各种操作从而产生各种用户访问网络请求。接收终端通过正向代理方式发送的用户访问网络请求并记录,这样就可以获取到用户在各种场景下产生的用户访问网络请求。用于检测漏洞的漏洞检测网络请求是根据用户访问网络请求生成的,这样可以借助用户在各种场景下产生的用户访问网络请求来进行漏洞检测,避免了因需要用户登录而导致的无法进行漏洞检测的情形,漏洞检测的覆盖率高。
在一个实施例中,漏洞检测装置700还包括用于根据记录的用户访问网络请求形成待检测列表中的条目并显示、且在根据记录的用户访问网络请求生成漏洞检测网络请求时更新待检测列表中相应的用户访问网络请求对应的条目的提交检测状态的模块。待检测列表中的每个条目包括用户访问网络请求的URL、请求的网络地址、请求体、提交检测状态以及条目***时间。
在一个实施例中,漏洞检测装置700还包括用于根据漏洞检测结果生成漏洞处理列表中的条目并显示、在漏洞被修复后,更新相应条目中的条目处理状态,并添加处理完成时间和漏洞属性的模块。漏洞处理列表中的每个条目包括:请求的域名或者网络地址、检测漏洞的事件名称、条目处理状态、条目***时间、检测的漏洞类型以及风险等级。
其中,检测漏洞的事件名称用来说明检测时间的简要信息,条目处理状态用来表示相应的条目是否被处理,检测的漏洞类型比如文件包含漏洞、管理后台漏洞、跳转漏洞、XXS漏洞、SQL注入漏洞或者测试页面未删除漏洞等,漏洞属性表示该漏洞是否有威胁。
危险等级可以分为三个等级,即高危险等级、中危险等级以及低危险等级。其中高危险等级对应直接获取服务器权限的漏洞、直接导致严重的信息泄漏漏洞、直接导致严重影响的逻辑漏洞、直接盗取用户身份信息的漏洞以及服务器越权访问漏洞。其中直接获取服务器权限的漏洞包括任意命令执行漏洞、上传webshell和任意代码执行漏洞。直接导致严重的信息泄漏漏洞包括重要数据库的SQL注入漏洞。直接导致严重影响的逻辑漏洞包括任意帐号密码更改漏洞。直接盗取用户身份信息的漏洞包括非重要数据库的SQL注入漏洞。服务器越权访问漏洞包括绕过认证访问服务器的漏洞。
中危险等级对应需交互才能获取用户身份信息的漏洞、任意文件操作漏洞和文件越权访问漏洞。需交互才能获取用户身份信息的漏洞包括存储型XSS漏洞,任意文件操作漏洞包括任意文件读、写、删除、下载等操作的漏洞,文件越权访问漏洞包括绕过限制修改用户资料、执行用户操作。
低危险等级则对应普通逻辑漏洞和需交互才能获取用户身份信息并且有一定利用难度的漏洞。普通逻辑漏洞包括提交操作无限制的漏洞,需交互才能获取用户身份信息并且有一定利用难度的漏洞包括反射型XSS漏洞。
在一个实施例中,漏洞检测装置700还包括用于根据漏洞检测结果生成按照请求的访问的站点归类的漏洞检测报告的模块。漏洞检测报告可以包括:站点标识、用户访问请求提交人信息、漏洞检测开始时间、漏洞检测结束时间、检测到的漏洞总数、站点风险等级、风险评分、漏洞关注人信息、漏洞处理进度以及漏洞详细信息。漏洞详细信息包括漏洞的风险等级、漏洞类型以及引发漏洞的URL。站点风险等级以及站点评分可以根据对应的漏洞的风险等级和/或漏洞数量来确定。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (12)

1.一种漏洞检测方法,所述方法包括:
接收终端通过正向代理方式发送的用户访问网络请求;
记录所述用户访问网络请求;
根据记录的用户访问网络请求生成漏洞检测网络请求;
将所述漏洞检测网络请求发送给所述用户访问网络请求所对应的待检测服务器;
接收所述待检测服务器根据所述漏洞检测网络请求所反馈的漏洞检测响应信息;
检测所述漏洞检测响应信息是否具有所述预设漏洞特征库中的预设漏洞特征,获得漏洞检测结果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述终端获取在超文本传输协议代理配置页面中输入的代理服务器地址和代理端口,并根据所述代理服务器地址和所述代理端口创建正向代理方式的网络连接。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对记录的用户访问网络请求进行去重处理;和/或,
从记录的用户访问网络请求中过滤掉用于请求静态内容的用户访问网络请求。
4.根据权利要求3所述的方法,其特征在于,所述用于请求静态内容的用户访问网络请求,包括:所携带的动态内容参数个数为0的用户访问网络请求,和/或,所请求的文件的扩展名包括静态文件扩展名的用户访问网络请求。
5.根据权利要求1所述的方法,其特征在于,所述接收终端通过正向代理方式发送的用户访问网络请求之前,还包括:
读取第一配置文件中的第一配置信息;所述第一配置信息包括:监听端口、正向代理开关信息以及用户访问控制信息;所述监听端口为所述终端所设置的代理端口,所述正向代理开关信息为开启;
所述接收终端通过正向代理方式发送的用户访问网络请求,包括:根据所述第一配置信息接收终端通过正向代理方式发送的用户访问网络请求。
6.根据权利要求1所述的方法,其特征在于,所述记录所述用户访问网络请求,包括:
读取第二配置文件中的第二配置信息,根据所述第二配置信息,以日志形式记录所述用户访问网络请求;所述第二配置信息包括:
配置为在检测到用户访问网络请求命中安全规则时,以日志形式记录所述用户访问网络请求的配置信息;和/或,
配置为在检测到用户访问网络请求所对应的响应状态码为漏洞相关响应状态码时,以日志形式记录所述用户访问网络请求的配置信息。
7.一种漏洞检测装置,其特征在于,所述装置包括:
请求接收模块,用于接收终端通过正向代理方式发送的用户访问网络请求;
记录模块,用于记录所述用户访问网络请求;
漏洞检测网络请求生成模块,用于根据记录的用户访问网络请求生成漏洞检测网络请求;
请求发送模块,用于将所述漏洞检测网络请求发送给所述用户访问网络请求所对应的待检测服务器;
漏洞检测响应信息接收模块,用于接收所述待检测服务器根据所述漏洞检测网络请求所反馈的漏洞检测响应信息;
漏洞检测模块,用于检测所述漏洞检测响应信息是否具有所述预设漏洞特征库中的预设漏洞特征,获得漏洞检测结果。
8.根据权利要求7所述的装置,其特征在于,所述终端用于获取在超文本传输协议代理配置页面中输入的代理服务器地址和代理端口,并根据所述代理服务器地址和所述代理端口创建正向代理方式的网络连接。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括:去重处理模块和/或过滤模块;
所述去重处理模块用于对记录的用户访问网络请求进行去重处理;
所述过滤模块用于从记录的用户访问网络请求中过滤掉用于请求静态内容的用户访问网络请求。
10.根据权利要求9所述的装置,其特征在于,所述用于请求静态内容的用户访问网络请求,包括:所携带的动态内容参数个数为0的用户访问网络请求,和/或,所请求的文件的扩展名包括静态文件扩展名的用户访问网络请求。
11.根据权利要求7所述的装置,其特征在于,所述装置还包括:第一配置信息读取模块,用于读取第一配置文件中的第一配置信息;所述第一配置信息包括:监听端口、正向代理开关信息以及用户访问控制信息;所述监听端口为所述终端所设置的代理端口,所述正向代理开关信息为开启;
所述请求接收模块还用于根据所述第一配置信息接收终端通过正向代理方式发送的用户访问网络请求。
12.根据权利要求7所述的装置,其特征在于,所述记录模块还用于读取第二配置文件中的第二配置信息,根据所述第二配置信息,以日志形式记录所述用户访问网络请求;所述第二配置信息包括:
配置为在检测到用户访问网络请求命中安全规则时,以日志形式记录所述用户访问网络请求的配置信息;和/或,
配置为在检测到用户访问网络请求所对应的响应状态码为漏洞相关响应状态码时,以日志形式记录所述用户访问网络请求的配置信息。
CN201510268909.XA 2015-05-22 2015-05-22 漏洞检测方法和装置 Active CN106302337B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510268909.XA CN106302337B (zh) 2015-05-22 2015-05-22 漏洞检测方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510268909.XA CN106302337B (zh) 2015-05-22 2015-05-22 漏洞检测方法和装置

Publications (2)

Publication Number Publication Date
CN106302337A true CN106302337A (zh) 2017-01-04
CN106302337B CN106302337B (zh) 2020-12-04

Family

ID=57632794

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510268909.XA Active CN106302337B (zh) 2015-05-22 2015-05-22 漏洞检测方法和装置

Country Status (1)

Country Link
CN (1) CN106302337B (zh)

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106909846A (zh) * 2017-01-16 2017-06-30 安徽开源互联网安全技术有限公司 一种基于虚拟解析的漏洞检测方法及其装置
CN107360189A (zh) * 2017-08-23 2017-11-17 杭州安恒信息技术有限公司 突破Web防护的漏洞扫描方法及装置
CN107483488A (zh) * 2017-09-18 2017-12-15 济南互信软件有限公司 一种恶意Http检测方法及***
CN107480534A (zh) * 2017-08-17 2017-12-15 郑州云海信息技术有限公司 一种针对Apache配置安全性的自动化检测方法
CN107566392A (zh) * 2017-09-22 2018-01-09 北京知道创宇信息技术有限公司 一种报错型sql注入的检测方法和代理服务器
CN107579983A (zh) * 2017-09-13 2018-01-12 杭州安恒信息技术有限公司 基于网站日志的代码安全审计方法及装置
CN107682361A (zh) * 2017-10-31 2018-02-09 平安科技(深圳)有限公司 网站漏洞扫描方法、装置、计算机设备及存储介质
CN108400957A (zh) * 2017-02-07 2018-08-14 蓝盾信息安全技术有限公司 一种基于检测***的智能对抗Web漏洞扫描并实现自修复的方法
CN108667770A (zh) * 2017-03-29 2018-10-16 腾讯科技(深圳)有限公司 一种网站的漏洞测试方法、服务器及***
CN108696481A (zh) * 2017-04-07 2018-10-23 北京京东尚科信息技术有限公司 漏洞检测方法和装置
CN108696488A (zh) * 2017-04-11 2018-10-23 腾讯科技(深圳)有限公司 一种上传接口识别方法、识别服务器及***
CN108769070A (zh) * 2018-06-30 2018-11-06 平安科技(深圳)有限公司 一种越权漏洞检测方法及装置
CN108833365A (zh) * 2018-05-24 2018-11-16 杭州默安科技有限公司 一种基于流量的业务逻辑漏洞检测方法及其***
CN109194670A (zh) * 2018-09-19 2019-01-11 杭州安恒信息技术股份有限公司 一种网站任意文件下载漏洞检测方法
CN109510801A (zh) * 2017-09-15 2019-03-22 华耀(中国)科技有限公司 显式正向代理与ssl侦听集成***及其运行方法
CN109697163A (zh) * 2018-12-14 2019-04-30 西安四叶草信息技术有限公司 程序测试方法及设备
CN109740355A (zh) * 2019-01-03 2019-05-10 深圳前海微众银行股份有限公司 漏洞扫描方法、服务器、***及代理服务器
CN109768973A (zh) * 2018-12-28 2019-05-17 易票联支付有限公司 一种安全公告的发布监控方法、***及装置
CN109819292A (zh) * 2019-01-28 2019-05-28 北京牡丹电子集团有限责任公司数字电视技术中心 一种远程媒体机的控制方法及远程媒体机
CN110399723A (zh) * 2018-06-22 2019-11-01 腾讯科技(深圳)有限公司 漏洞检测方法和装置、存储介质及电子装置
CN110427323A (zh) * 2019-07-29 2019-11-08 天津车之家数据信息技术有限公司 一种应用测试方法、装置、代理服务器和***
CN110581835A (zh) * 2018-06-11 2019-12-17 阿里巴巴集团控股有限公司 一种漏洞检测方法、装置及终端设备
CN110941830A (zh) * 2019-11-15 2020-03-31 泰康保险集团股份有限公司 一种漏洞数据处理方法和装置
WO2020062644A1 (zh) * 2018-09-25 2020-04-02 平安科技(深圳)有限公司 Json劫持漏洞的检测方法、装置、设备及存储介质
CN111049795A (zh) * 2019-10-25 2020-04-21 杭州数梦工场科技有限公司 分布式Web应用的敏感数据未加密漏洞的检测方法及装置
CN111371745A (zh) * 2020-02-21 2020-07-03 北京百度网讯科技有限公司 用于确定ssrf漏洞的方法和装置
CN111680303A (zh) * 2020-06-10 2020-09-18 北京天融信网络安全技术有限公司 漏洞扫描方法、装置、存储介质及电子设备
CN111859363A (zh) * 2020-06-24 2020-10-30 杭州数梦工场科技有限公司 用于识别应用未授权访问的方法、装置以及电子设备
CN111966381A (zh) * 2020-08-24 2020-11-20 宝牧科技(天津)有限公司 一种轻量的业务终端健康检测***及方法
CN112165489A (zh) * 2020-09-28 2021-01-01 彩讯科技股份有限公司 未授权访问漏洞检测方法、***、服务器和存储介质
CN112416768A (zh) * 2020-11-20 2021-02-26 深圳开源互联网安全技术有限公司 交互式安全弱点检测方法、***、装置及可读存储介质
TWI723664B (zh) * 2019-12-05 2021-04-01 中華電信股份有限公司 惡意圖像檔案淨化方法及系統
CN113297147A (zh) * 2021-06-18 2021-08-24 中国信息安全测评中心 应用程序接口的风险检测方法、相关装置及存储介质
CN113485865A (zh) * 2021-09-06 2021-10-08 中航信移动科技有限公司 基于正向代理服务器访问第三方应用的数据处理***
CN115051824A (zh) * 2022-03-30 2022-09-13 杭州默安科技有限公司 一种垂直越权检测方法、***、设备及存储介质
CN115102748A (zh) * 2022-06-16 2022-09-23 中国电信股份有限公司 漏洞检测方法及装置、存储介质及电子设备
CN117725596A (zh) * 2024-01-04 2024-03-19 章和技术(广州)有限公司 一种网络安全漏洞探测方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103023710A (zh) * 2011-09-21 2013-04-03 阿里巴巴集团控股有限公司 一种安全测试***和方法
CN103095681A (zh) * 2012-12-03 2013-05-08 微梦创科网络科技(中国)有限公司 一种检测漏洞的方法及装置
CN103248627A (zh) * 2013-05-06 2013-08-14 北京奇虎科技有限公司 实现访问网站资源的方法、正向代理服务器和***
US20130212682A1 (en) * 2012-02-09 2013-08-15 International Business Machines Corporation Automatic discovery of system integrity exposures in system code
CN104144142A (zh) * 2013-05-07 2014-11-12 阿里巴巴集团控股有限公司 一种Web漏洞挖掘方法及***
CN104519070A (zh) * 2014-12-31 2015-04-15 北京奇虎科技有限公司 网站权限漏洞检测方法和***

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103023710A (zh) * 2011-09-21 2013-04-03 阿里巴巴集团控股有限公司 一种安全测试***和方法
US20130212682A1 (en) * 2012-02-09 2013-08-15 International Business Machines Corporation Automatic discovery of system integrity exposures in system code
CN103095681A (zh) * 2012-12-03 2013-05-08 微梦创科网络科技(中国)有限公司 一种检测漏洞的方法及装置
CN103248627A (zh) * 2013-05-06 2013-08-14 北京奇虎科技有限公司 实现访问网站资源的方法、正向代理服务器和***
CN104144142A (zh) * 2013-05-07 2014-11-12 阿里巴巴集团控股有限公司 一种Web漏洞挖掘方法及***
CN104519070A (zh) * 2014-12-31 2015-04-15 北京奇虎科技有限公司 网站权限漏洞检测方法和***

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
郑理华: "WEB应用安全测试评估***的研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106909846A (zh) * 2017-01-16 2017-06-30 安徽开源互联网安全技术有限公司 一种基于虚拟解析的漏洞检测方法及其装置
CN108400957A (zh) * 2017-02-07 2018-08-14 蓝盾信息安全技术有限公司 一种基于检测***的智能对抗Web漏洞扫描并实现自修复的方法
CN108667770B (zh) * 2017-03-29 2020-12-18 腾讯科技(深圳)有限公司 一种网站的漏洞测试方法、服务器及***
CN108667770A (zh) * 2017-03-29 2018-10-16 腾讯科技(深圳)有限公司 一种网站的漏洞测试方法、服务器及***
CN108696481A (zh) * 2017-04-07 2018-10-23 北京京东尚科信息技术有限公司 漏洞检测方法和装置
US10972496B2 (en) 2017-04-11 2021-04-06 Tencent Technology (Shenzhen) Company Limited Upload interface identification method, identification server and system, and storage medium
CN108696488A (zh) * 2017-04-11 2018-10-23 腾讯科技(深圳)有限公司 一种上传接口识别方法、识别服务器及***
CN107480534A (zh) * 2017-08-17 2017-12-15 郑州云海信息技术有限公司 一种针对Apache配置安全性的自动化检测方法
CN107360189A (zh) * 2017-08-23 2017-11-17 杭州安恒信息技术有限公司 突破Web防护的漏洞扫描方法及装置
CN107579983A (zh) * 2017-09-13 2018-01-12 杭州安恒信息技术有限公司 基于网站日志的代码安全审计方法及装置
CN109510801B (zh) * 2017-09-15 2021-08-31 北京华耀科技有限公司 显式正向代理与ssl侦听集成***及其运行方法
CN109510801A (zh) * 2017-09-15 2019-03-22 华耀(中国)科技有限公司 显式正向代理与ssl侦听集成***及其运行方法
CN107483488B (zh) * 2017-09-18 2021-04-30 济南互信软件有限公司 一种恶意Http检测方法及***
CN107483488A (zh) * 2017-09-18 2017-12-15 济南互信软件有限公司 一种恶意Http检测方法及***
CN107566392A (zh) * 2017-09-22 2018-01-09 北京知道创宇信息技术有限公司 一种报错型sql注入的检测方法和代理服务器
CN107682361A (zh) * 2017-10-31 2018-02-09 平安科技(深圳)有限公司 网站漏洞扫描方法、装置、计算机设备及存储介质
CN107682361B (zh) * 2017-10-31 2020-04-14 平安科技(深圳)有限公司 网站漏洞扫描方法、装置、计算机设备及存储介质
CN108833365A (zh) * 2018-05-24 2018-11-16 杭州默安科技有限公司 一种基于流量的业务逻辑漏洞检测方法及其***
CN108833365B (zh) * 2018-05-24 2021-06-15 杭州默安科技有限公司 一种基于流量的业务逻辑漏洞检测方法及其***
CN110581835A (zh) * 2018-06-11 2019-12-17 阿里巴巴集团控股有限公司 一种漏洞检测方法、装置及终端设备
CN110399723A (zh) * 2018-06-22 2019-11-01 腾讯科技(深圳)有限公司 漏洞检测方法和装置、存储介质及电子装置
CN108769070A (zh) * 2018-06-30 2018-11-06 平安科技(深圳)有限公司 一种越权漏洞检测方法及装置
CN109194670A (zh) * 2018-09-19 2019-01-11 杭州安恒信息技术股份有限公司 一种网站任意文件下载漏洞检测方法
WO2020062644A1 (zh) * 2018-09-25 2020-04-02 平安科技(深圳)有限公司 Json劫持漏洞的检测方法、装置、设备及存储介质
CN109697163B (zh) * 2018-12-14 2022-03-04 西安四叶草信息技术有限公司 程序测试方法及设备
CN109697163A (zh) * 2018-12-14 2019-04-30 西安四叶草信息技术有限公司 程序测试方法及设备
CN109768973A (zh) * 2018-12-28 2019-05-17 易票联支付有限公司 一种安全公告的发布监控方法、***及装置
CN109740355A (zh) * 2019-01-03 2019-05-10 深圳前海微众银行股份有限公司 漏洞扫描方法、服务器、***及代理服务器
CN109819292A (zh) * 2019-01-28 2019-05-28 北京牡丹电子集团有限责任公司数字电视技术中心 一种远程媒体机的控制方法及远程媒体机
CN109819292B (zh) * 2019-01-28 2021-01-29 北京牡丹电子集团有限责任公司数字电视技术中心 一种远程媒体机的控制方法及远程媒体机
CN110427323A (zh) * 2019-07-29 2019-11-08 天津车之家数据信息技术有限公司 一种应用测试方法、装置、代理服务器和***
CN111049795A (zh) * 2019-10-25 2020-04-21 杭州数梦工场科技有限公司 分布式Web应用的敏感数据未加密漏洞的检测方法及装置
CN110941830B (zh) * 2019-11-15 2022-03-29 泰康保险集团股份有限公司 一种漏洞数据处理方法和装置
CN110941830A (zh) * 2019-11-15 2020-03-31 泰康保险集团股份有限公司 一种漏洞数据处理方法和装置
TWI723664B (zh) * 2019-12-05 2021-04-01 中華電信股份有限公司 惡意圖像檔案淨化方法及系統
CN111371745A (zh) * 2020-02-21 2020-07-03 北京百度网讯科技有限公司 用于确定ssrf漏洞的方法和装置
CN111680303B (zh) * 2020-06-10 2023-02-07 北京天融信网络安全技术有限公司 漏洞扫描方法、装置、存储介质及电子设备
CN111680303A (zh) * 2020-06-10 2020-09-18 北京天融信网络安全技术有限公司 漏洞扫描方法、装置、存储介质及电子设备
CN111859363B (zh) * 2020-06-24 2024-04-05 杭州数梦工场科技有限公司 用于识别应用未授权访问的方法、装置以及电子设备
CN111859363A (zh) * 2020-06-24 2020-10-30 杭州数梦工场科技有限公司 用于识别应用未授权访问的方法、装置以及电子设备
CN111966381A (zh) * 2020-08-24 2020-11-20 宝牧科技(天津)有限公司 一种轻量的业务终端健康检测***及方法
CN112165489A (zh) * 2020-09-28 2021-01-01 彩讯科技股份有限公司 未授权访问漏洞检测方法、***、服务器和存储介质
CN112416768A (zh) * 2020-11-20 2021-02-26 深圳开源互联网安全技术有限公司 交互式安全弱点检测方法、***、装置及可读存储介质
CN113297147A (zh) * 2021-06-18 2021-08-24 中国信息安全测评中心 应用程序接口的风险检测方法、相关装置及存储介质
CN113485865A (zh) * 2021-09-06 2021-10-08 中航信移动科技有限公司 基于正向代理服务器访问第三方应用的数据处理***
CN115051824A (zh) * 2022-03-30 2022-09-13 杭州默安科技有限公司 一种垂直越权检测方法、***、设备及存储介质
CN115051824B (zh) * 2022-03-30 2024-04-02 杭州默安科技有限公司 一种垂直越权检测方法、***、设备及存储介质
CN115102748A (zh) * 2022-06-16 2022-09-23 中国电信股份有限公司 漏洞检测方法及装置、存储介质及电子设备
CN115102748B (zh) * 2022-06-16 2023-09-22 中国电信股份有限公司 漏洞检测方法及装置、存储介质及电子设备
CN117725596A (zh) * 2024-01-04 2024-03-19 章和技术(广州)有限公司 一种网络安全漏洞探测方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN106302337B (zh) 2020-12-04

Similar Documents

Publication Publication Date Title
CN106302337A (zh) 漏洞检测方法和装置
US20190354709A1 (en) Enforcement of same origin policy for sensitive data
Stuttard et al. The web application hacker's handbook: Finding and exploiting security flaws
US9055093B2 (en) Method, system and computer program product for detecting at least one of security threats and undesirable computer files
US20110184982A1 (en) System and method for capturing and reporting online sessions
CN105939326A (zh) 处理报文的方法及装置
US11770415B2 (en) Header replay for endpoint-based security
CN106789869B (zh) 基于Basic认证的流量代理漏洞检测方法及***
WO2021072449A1 (en) Method and apparatus to control and monitor access to web domains using networked devices
Kapodistria et al. An advanced web attack detection and prevention tool
Pauli The basics of web hacking: tools and techniques to attack the web
Yaworski Real-world bug hunting: a field guide to web hacking
US10154052B1 (en) Tracer cookies to detect web session compromise by insiders
Ghiani et al. Security in migratory interactive web applications
CN111881384B (zh) 违规外联的取证方法、***和存储介质
Berner Where’s My Car? Ethical Hacking of a Smart Garage
Barron Addressing the Imbalance between Attackers and Defenders Using Cyber Deception
Bellatriu Penetration testing automation system
Howard et al. Web Browser Security and Privacy
Pantoulas Description, analysis and implementation of a Web Application Firewall (WAF). Creation of attack scenarios and threats prevention
Clinton Linux security fundamentals
US20240020347A1 (en) Browser Application Extension for Payload Detection
US20240134960A1 (en) Sentinel system for an online device
Mangeard et al. WARNE: A stalkerware evidence collection tool
Alabdulrazzaq Securing Web Applications: Web Application Flow Whitelisting to Improve Security

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant