CN1870493A - 网站安全漏洞扫描方法 - Google Patents
网站安全漏洞扫描方法 Download PDFInfo
- Publication number
- CN1870493A CN1870493A CN 200610012276 CN200610012276A CN1870493A CN 1870493 A CN1870493 A CN 1870493A CN 200610012276 CN200610012276 CN 200610012276 CN 200610012276 A CN200610012276 A CN 200610012276A CN 1870493 A CN1870493 A CN 1870493A
- Authority
- CN
- China
- Prior art keywords
- link
- scanning
- web page
- scanned
- scan
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一种网站安全漏洞扫描方法,该方法综合采用了多种扫描方式对网站进行全面而深入的扫描,这样扫描的网页不仅包括对网页爬行的层次页面,还包括在基于规则对网页进行探测后发现的页面以及以这样的页面作为种子而得到子页面。包括扫描和分析两个阶段,在所述的扫描阶段,对网页链接进行扫描的同时,将在扫描过程中发现的新链接应用特定的扫描规则进行变换,并将变换得到的新的派生链接再加入到扫描队列中进行扫描。这样反复扫描,知道不再发现新的链接为止。这种扫描方式全面地覆盖了网站的页面,保证了扫描深度,大大提高了扫描结果的可靠性。
Description
技术领域
本发明涉及网站安全漏洞的扫描技术,特别涉及一种基于完全爬行的网站安全漏洞扫描方法。
背景技术
随着互联网发展,在Web服务器运行的程序所面临的安全问题越来越突出。保证Web服务能够安全稳定地运行,是众多公司和机关里IT部门的一项重要任务。通常情况下,由于缺乏有效的Web安全评估工具,加之系统由经常性的升级而随之产生的安全问题,管理者无法及时有效地发现问题。实践表明,在基于网络层的安全问题,往往反映的问题比较明显,容易被发现。但另一类问题,是由应用层所引起的,就很难及时发现。这类问题更多的时候是由于开发者在系统设计时考虑不周,或是软件开发时程序员的疏忽,造成应用系统本身存在安全缺陷。由于缺少有效的检查机制,这样的安全问题平时难以被发现,而往往是在重大事故发生时这样的问题才会被发现。本发明旨在提供一种针对网站安全漏洞进行扫描的软件工具,自动高效地检查Web应用程序上存在的漏洞及安全隐患,对系统安全性做出评估。
在已知的现有技术中,与本发明最接近的是名为System For Determining WebApplication Vulnerablities(检测Web应用漏洞的系统)的美国专利US 6584569。该专利公布了一种检测网站漏洞的系统,所述的系统检测漏洞的步骤包括:查找出外部的用户交互层预先定义的基本元素的步骤;构造服务请求,在请求中包含这些基本元素未经验证的值,从而发现针对该Web应用的隐患,再利用该隐患进行攻击,并评估结果的步骤。具体包括:首先,对所有的应用交互界面结构爬行,根据检测规则,对这些页面检测得出有关网站的漏洞列表,然后利用变换规则产生变换请求,对应用模拟攻击,根据攻击结果得到该Web应用的安全漏洞报告。
在上述专利中,所述的爬行方式是通过向服务器提交一个链接请求后,分析服务器的反馈信息,找出本网站内的新的链接,然后再依次把新发现到的链接提交给服务器,反复循环,直至发现不到新的链接。如图1所示,根据这种爬行方式,最终得到链接节点a0、a1、a2……..但是有些页面与正常的页面不存在链接关系,因此通过一般的爬行是检测不到的,比如在删除掉的链接形成死链接,或编程过程中遗漏的垃圾文件。虽然一部分这样的被删除的链接(或垃圾文件链接)在变换攻击时可能被检测到,但是与这些链接相关的子链接却不能被爬行到,而这些子链接却恰恰可能就是安全漏洞的所在。
比如,利用数据库规则或通过对a0节点链接作变换,可能在扫描时发现b0、b1。如果对b0、b1进一步爬行,可能会得到b2、b3,或者再继续使用漏洞规则检验出b4。然而,该系统所使用的方法却无法对b0、b1再继续作爬行,从而无法得到b2、b3、b4及其后续派生网页节点,如图1所示。因此,所述专利的系统仅仅能直接爬行网站,所述的并没有覆盖到漏洞扫描阶段,缺乏对应用探测规则的网站进行爬行。而爬行的广度不够,直接造成了对网站分析内容的遗漏,这样的结果可能导致很多漏洞无法被发现。
发明内容
针对上述的爬行方法所造成的爬行范围不够广的问题,本发明的目的在于提供一种能够全面地扫描网站安全漏洞的扫描方法,该方法综合采用了多种扫描方式对网站进行全面而深入的扫描,这样扫描的网页不仅包括对网页爬行的层次页面,还包括在基于规则对网页进行探测后发现的页面以及以这样的页面作为种子而得到子页面。
为实现本发明的目的,在网站安全漏洞扫描方法中,有三种获得网页链接的途径:S1,是指依据漏洞规则库可直接得到可能存在的扫描链接;S3,是指通过分析网页发现新的链接;S4,是指将数据库规则作用于通过分析网页新发现的链接上得到可能存在的转换的派生链接。
在该方法中所应用的扫描规则分成两类:
一类为直接应用漏洞规则库中的规则,此类规则为普遍的扫描点,不依赖于特定的链接。即使在没有发现网站的其他具体链接时,将该规则直接应用到网站域名上,这样得到的链接就可作为进行扫描的根节点加入到待扫描的网页链接队列中。比如检查:\password.ini,\test.pl,或\config.ini等。
另一类为依据漏洞规则库,在已发现存在的网页基础上,针对网页本身分别做多种特定的变换,变换后得到可能存在的扫描链接。比如,
若有一条规则为,“在已存在的网页名后添加_bk”,将该规则分别作用于不同的已存在的网页:
则由\main.html 可得到\main.html_bk
由\test.pl 可得到\test.pl_bk
若另一条规则为,“把已存在的网页文件扩展名类型替换为.old”
则由\main.html 可得到\main.old
由\test.pl 可得到\test.old
基于上述规则的网站安全漏洞扫描方法包括网站扫描和页面分析两个阶段。在扫描阶段,系统对网页链接进行扫描的同时,还将在扫描过程中发现的新链接应用特定的扫描规则进行变换,并将变换得到的新的派生链接再加入到扫描队列中进行扫描。这样反复扫描,知道不再发现新的链接为止。这种扫描方式全面地覆盖了网站的页面,保证了扫描深度,大大提高了扫描结果的可靠性。
如图2所示,扫描阶段的过程主要由扫描引擎(S)进行:系统首先对需要扫描的网站的网站名执行数据库中预定义的所有可直接用于扫描的规则,得到基于固定扫描规则的链接,这些链接和网站地址一起放到待扫描的网页链接队列中,逐一进行扫描。在扫描的过程中,如果发现了新的属于本网站内的链接,一方面将该链接添加到待扫描的网页链接队列中等待扫描,另一方面,对该链接应用不同的扫描规则进行变换,得到由该链接派生出的子链接,也添加到待扫描的网页链接队列中等待扫描。扫描的过程一直持续到待扫描的网页链接队列中所有的链接都被扫描完为止。具体过程为:从待扫描的网页链接队列中去除一个链接,并向服务器提交有关该链接的请求,通过分析引擎(F)分析服务器的响应信息,再根据服务器响应信息从中提取新的链接。当待扫描的网页链接队列为空时扫描过程结束。
对于从服务器响应信息中提取的新链接,正常情况下,该链接需要对应于一个页面,对于该链接的扫描请求在提交给服务器后应该可以得到正常的反馈,否则若未能发现该页面,则说明该链接为一个中断了的链接(即死链接)。对于直接或间接地依据数据库的漏洞规则生成的链接,表示该链接是猜想可能存在的链接,通过分析服务器的反馈,若这样的链接真实存在,此链接的本身也就是一个漏洞。若通过分析服务器的反馈信息,发现该链接并不存在,则表示原来的链接猜想错误,不存在该变换规则对应的漏洞。
如图3所示,分析阶段的过程由分析引擎完成:
首先初始化网页链接列表,将所有的网页链接写入列表,首先初始化网页链接列表,将所有的网页链接写入该列表,所述的网页链接是指在扫描过程中得到的有效链接;然后逐个读取网页链接中的网页,读取网页信息,并对读取下来的网页进行分析,根据特征关键字搜寻,检索可能对安全有影响的敏感信息。对读取下来的网页进行分析,找出基本元素,具体而言就是根据特征关键字搜寻,检索可能对安全有影响的敏感信息。所述的特征关键字包括但不限于邮箱地址、注释信息、文本信息、Cookies信息、隐含信息、脚本信息和死链接(访问不到的链接)、出站链接(指向其他网站的链接)等。
本发明网站安全漏洞扫描方法的技术效果在于,在扫描阶段,应用不同的规则对网站进行深度扫描,能够全面地发现网站的安全漏洞,这些扫描结果又经过进一步分析,大大提高了网站安全漏洞扫描的可靠性。
附图说明
图1是网站爬行结果示意图;
图2表示漏洞扫描过程的流程图;
图3表示网页分析过程的流程图。
具体实施方式
以下将以一个虚拟的网站www.abc.com为例,通过对该网站的具体操作来进一步描述本发明的网站安全漏洞扫描方法。
(1)扫描阶段:
如图2所示,首先根据数据库中的固定扫描规则获得基于固定扫描规则的链接,这些链接是可以直接猜测的链接,如:\password.ini,\login.asp,\_vti_bin\,\test.pl,\config.ini,\rootlogin.asp………。
将这些基于固定扫描规则直接得到的链接连同网站名www.abc.com一起加入待扫描的网页链接队列。
依次对网页链接队列中的每个链接扫描,同时把在扫描网页过程中发现的新链接再加入到网页链接队列。对于基于固定扫描规则得到的链接,通过分析服务器响应消息,若该链接存在就表明可以直接猜测到此链接,这种可猜测链接本身有安全隐患。若其中的某些链接通过分析服务器响应消息发现其不存在,表明猜想错误,返回继续其他链接的扫描。
例如,在本实施里,发现\password.ini,\login.asp,\_vti_bin\,\config.ini…这些链接不存在,则继续扫描其它链接。但在扫描过程中发现\test.pl链接存在,表明此猜测成功该链接为新发现的一个漏洞,如果同时又在此网页内发现新的链接,如www.abc.com\asd.html,则把新发现的该链接添加到待扫描的链接队列等待扫描。
如果在www.abc.com网页中发现新链接aaa.asp,www.abc.com\wop.html,www.abc.com\ert\dd.html,则这些链接也将被加入队列中等待扫描。同时,对这些新发现的链接作变换处理,如:
从aaa.asp派生出aaa.asp.bk aaa.asp_bk,aaa.old,
从\test.pl派生出test.bk,test.old
从www.abc.com\wop.html派生出www.abc.com\wop.asp
这些派生出的链接类也是通过猜测得到的,把这些链接也加入到待扫描的链接队列,依次对这些链接进行扫描,若这些链接确实存在,也是一种漏洞。
如上所述,从扫描的网页中发现新的链接,同时对这些新的链接做派生变换,得到基于固定的变换规则的派生链接。然后再对这些新发现的链接及派生猜想链接分别逐一作扫描,从中再发现新的链接,同时派生猜想链接,再扫描。如此反复循环,直至再没发现新的链接时,网站扫描结束。需要说明的是,在每次新发现的链接中,仅仅对本网站的链接做扫描,涉及的其他网站链接不做处理。
(2)分析阶段:
对每个扫描到的链接,分析服务器的响应信息,得到在页面中发现的基本元素信息。这些信息包括:邮件地址,文本信息,注释信息,Cookies信息,隐含信息,链接信息,死链接,跨站链接,等等。这些信息可以从页面中根据特征关键字收寻到。
例如,从test.pl的页面中找到一个邮箱地址rove@yahoo.com,该信息可以通过查找特征字符“@”判断邮件地址。
又如,从aaa.asp中,发现隐含信息,可以通过查找属性为“hidden”的单元来确定。
除此之外,在分析引擎中,还要负责发现可能存在有安全隐患或漏洞问题的页面,如,查找可能存在SQL注入风险的链接,查找有“Form”需要用户交互输入的页面信息。
这些都是在页面中通过查找关键字符或直接查找几个特征点,找到可能有漏洞风险的网页。
Claims (4)
1、一种网站安全漏洞扫描方法,包括扫描和分析两个阶段,其特征在于,所述的扫描阶段包括步骤:
对网站名应用预定义的直接用于扫描的规则,得到基于固定扫描规则的链接;
将所述的链接和网站名一起放到待扫描的网页链接队列中,逐个进行扫描,直到所述的队列为空时,结束扫描;
在扫描的过程中,如果发现新的属于本网站内的链接,则将该链接添加到待扫描的网页链接队列中等待扫描,同时对该链接应用不同的扫描规则进行变换,得到该链接的派生链接,并将所述的派生链接也添加到待扫描的网页链接队列中等待扫描;
所述的分析阶段包括步骤:对扫描得到的所有链接,根据预定义的特征关键字逐个分析网页中的基本元素信息,检索可能对安全有影响的敏感信息。
2、如权利要求1所述的方法,其特征在于,所述的对待扫描的网页链接队列逐个进行扫描的方法是:从待扫描的网页链接队列中去除一个链接,并向服务器提交有关该链接的请求,然后根据服务器响应信息从中提取新的链接。
3、如权利要求1所述的方法,其特征在于,所述的特征关键字包括但不限于邮箱地址、注释信息、文本信息、Cookies信息、隐含信息、脚本信息、死链接、或出站链接。
4、如权利要求1所述的方法,其特征在于,所述的分析阶段具体包括步骤:
首先初始化网页链接列表,将所有的网页链接写入该列表,所述的网页链接是指在扫描过程中得到的有效链接;
逐个读取网页链接中的网页,读取网页信息,并对读取下来的网页进行分析,根据特征关键字搜寻,检索可能对安全有影响的敏感信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610012276 CN1870493A (zh) | 2006-06-15 | 2006-06-15 | 网站安全漏洞扫描方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610012276 CN1870493A (zh) | 2006-06-15 | 2006-06-15 | 网站安全漏洞扫描方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1870493A true CN1870493A (zh) | 2006-11-29 |
Family
ID=37444053
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200610012276 Pending CN1870493A (zh) | 2006-06-15 | 2006-06-15 | 网站安全漏洞扫描方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1870493A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101808093A (zh) * | 2010-03-15 | 2010-08-18 | 北京安天电子设备有限公司 | 一种对web安全进行自动化检测的系统和方法 |
CN101312393B (zh) * | 2007-05-24 | 2011-08-31 | 北京启明星辰信息技术股份有限公司 | 一种sql注入漏洞检测方法及系统 |
CN101340434B (zh) * | 2008-05-15 | 2011-09-07 | 王瑞 | 网站恶意内容检测与认证方法及系统 |
CN101296087B (zh) * | 2007-04-23 | 2011-09-21 | Sap股份公司 | 用于防止跨站攻击的方法和系统 |
WO2012031460A1 (zh) * | 2010-09-09 | 2012-03-15 | 北京神州绿盟信息安全科技股份有限公司 | 一种网站扫描设备和方法 |
CN103297394A (zh) * | 2012-02-24 | 2013-09-11 | 阿里巴巴集团控股有限公司 | 网站安全检测方法和装置 |
CN103312692A (zh) * | 2013-04-27 | 2013-09-18 | 深信服网络科技(深圳)有限公司 | 链接地址安全性检测方法及装置 |
CN103685237A (zh) * | 2013-11-22 | 2014-03-26 | 北京奇虎科技有限公司 | 提高网站漏洞扫描速度的方法及装置 |
CN104980309A (zh) * | 2014-04-11 | 2015-10-14 | 北京奇虎科技有限公司 | 网站安全检测方法及装置 |
CN108282489A (zh) * | 2018-02-07 | 2018-07-13 | 网宿科技股份有限公司 | 一种漏洞扫描方法、服务端及系统 |
CN111639033A (zh) * | 2020-06-03 | 2020-09-08 | 厦门力含信息技术服务有限公司 | 软件安全威胁分析方法与系统 |
-
2006
- 2006-06-15 CN CN 200610012276 patent/CN1870493A/zh active Pending
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101296087B (zh) * | 2007-04-23 | 2011-09-21 | Sap股份公司 | 用于防止跨站攻击的方法和系统 |
CN101312393B (zh) * | 2007-05-24 | 2011-08-31 | 北京启明星辰信息技术股份有限公司 | 一种sql注入漏洞检测方法及系统 |
CN101340434B (zh) * | 2008-05-15 | 2011-09-07 | 王瑞 | 网站恶意内容检测与认证方法及系统 |
CN101808093B (zh) * | 2010-03-15 | 2013-08-07 | 北京安天电子设备有限公司 | 一种对web安全进行自动化检测的系统和方法 |
CN101808093A (zh) * | 2010-03-15 | 2010-08-18 | 北京安天电子设备有限公司 | 一种对web安全进行自动化检测的系统和方法 |
CN102404281B (zh) * | 2010-09-09 | 2014-08-13 | 北京神州绿盟信息安全科技股份有限公司 | 一种网站扫描设备和方法 |
WO2012031460A1 (zh) * | 2010-09-09 | 2012-03-15 | 北京神州绿盟信息安全科技股份有限公司 | 一种网站扫描设备和方法 |
US10491618B2 (en) | 2010-09-09 | 2019-11-26 | NSFOCUS Information Technology Co., Ltd. | Method and apparatus for website scanning |
CN102404281A (zh) * | 2010-09-09 | 2012-04-04 | 北京神州绿盟信息安全科技股份有限公司 | 一种网站扫描设备和方法 |
CN103297394B (zh) * | 2012-02-24 | 2016-12-14 | 阿里巴巴集团控股有限公司 | 网站安全检测方法和装置 |
CN103297394A (zh) * | 2012-02-24 | 2013-09-11 | 阿里巴巴集团控股有限公司 | 网站安全检测方法和装置 |
CN103312692A (zh) * | 2013-04-27 | 2013-09-18 | 深信服网络科技(深圳)有限公司 | 链接地址安全性检测方法及装置 |
CN103685237A (zh) * | 2013-11-22 | 2014-03-26 | 北京奇虎科技有限公司 | 提高网站漏洞扫描速度的方法及装置 |
WO2015154539A1 (zh) * | 2014-04-11 | 2015-10-15 | 北京奇虎科技有限公司 | 网站安全检测方法及装置 |
US9954886B2 (en) | 2014-04-11 | 2018-04-24 | Beijing Qihoo Technology Company Limited | Method and apparatus for detecting website security |
CN104980309A (zh) * | 2014-04-11 | 2015-10-14 | 北京奇虎科技有限公司 | 网站安全检测方法及装置 |
CN108282489A (zh) * | 2018-02-07 | 2018-07-13 | 网宿科技股份有限公司 | 一种漏洞扫描方法、服务端及系统 |
CN108282489B (zh) * | 2018-02-07 | 2020-01-31 | 网宿科技股份有限公司 | 一种漏洞扫描方法、服务端及系统 |
US11070580B1 (en) | 2018-02-07 | 2021-07-20 | Wangsu Science & Technology Co., Ltd. | Vulnerability scanning method, server and system |
CN111639033A (zh) * | 2020-06-03 | 2020-09-08 | 厦门力含信息技术服务有限公司 | 软件安全威胁分析方法与系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1870493A (zh) | 网站安全漏洞扫描方法 | |
Fonseca et al. | Testing and comparing web vulnerability scanning tools for SQL injection and XSS attacks | |
US9606971B2 (en) | Rule-based validation of websites | |
CN101490685A (zh) | 提高浏览网页的用户机的安全等级的方法 | |
CN1866817A (zh) | 网站安全风险评估方法和系统 | |
US9614862B2 (en) | System and method for webpage analysis | |
US8365290B2 (en) | Web application vulnerability scanner | |
Dahse et al. | Simulation of Built-in PHP Features for Precise Static Code Analysis. | |
CN102104601B (zh) | 一种基于渗透技术的web漏洞扫描方法和漏洞扫描器 | |
US7441195B2 (en) | Associating website clicks with links on a web page | |
US8365062B2 (en) | Auditing a website with page scanning and rendering techniques | |
US20110173178A1 (en) | Method and system for obtaining script related information for website crawling | |
US8126866B1 (en) | Identification of possible scumware sites by a search engine | |
US20070220145A1 (en) | Computer product, access-restricting method, and proxy server | |
US20070174324A1 (en) | Mechanism to trap obsolete web page references and auto-correct invalid web page references | |
Huang et al. | UChecker: Automatically detecting php-based unrestricted file upload vulnerabilities | |
MXPA05012404A (es) | Sistema y metodo para utilizar una maquina de busqueda para prevenir contaminacion. | |
Singh et al. | A network based vulnerability scanner for detecting SQLI attacks in web applications | |
JP2006520940A (ja) | インターネット検索エンジンにおける無効クリック検出方法および装置 | |
CN103530565A (zh) | 基于web的网站程序漏洞扫描方法及扫描装置 | |
US20080091775A1 (en) | Method and apparatus for parallel operations on a plurality of network servers | |
CN105404816A (zh) | 基于内容的漏洞检测方法及装置 | |
CN108965327B (zh) | 检测系统漏洞的方法、装置、计算机设备以及存储介质 | |
CN106250761B (zh) | 一种识别web自动化工具的设备、装置及方法 | |
CN114003794A (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 |
Open date: 20061129 |