爬虫如何检测网站漏洞

如何检测网站漏洞  时间:2021-04-15  阅读:()
作者简介:付堂欢(1986),男,硕士,主要研究方向:信息安全通信联系人:白中英(1941),男,教授,主要研究方向:计算机体系结构.
E-mail:bzy66@sina.
com基于表单爬虫的Web漏洞扫描系统的分析与设计付堂欢,白中英北京邮电大学信息安全中心(100876)摘要:伴随着计算机技术和网络技术的迅猛发展,互联网在给人们提供便利和创造财富的同时,其上的各种web应用漏洞百出,严重危害企业和用户的信息安全.
目前大多数的Web漏洞扫描器采用的爬虫程序采用在普通爬虫基础上稍作修改的广度优先遍历算法,效率较低.
本文通过对专注于抓取网页中表单的表单爬虫的算法分析,提出了一款基于表单爬虫的WEB漏洞扫描系统的设计方案,并对其后台各核心模块及数据库作出概要设计,最后对基于表单爬虫的Web漏洞扫描相对于基于普通爬虫的Web漏洞扫描的效率提升进行了验证.
关键词:WEB漏洞表单爬虫1.
引言web应用指的是采用B/S架构,采用http或https协议对外提供服务的应用程序,客户端通过浏览器访问web服务器,通过通用资源标志符(URI)定位访问服务器上的资源,黑客能根据请求的URL、查询字符串、cookie、表单及隐含参数等发动攻击[1].
安全漏洞是指使得计算机系统处于非安全状态的一切因素,包括软件、硬件、协议等在实现上的弱点,以及系统在安全策略上的不足[2].
漏洞是静态的、被动的、可触发的[3].
根据OWASP[4]的统计,SQL注入漏洞和XSS跨站脚本漏洞居十大漏洞前两位.
由于Web漏洞只存在于网页中的动态交互点(表单),传统的Web漏洞扫描器中的爬虫一般采用广度或者深度优先策略爬取目标站点,而由于表单分布稀疏,使得普通爬虫爬取大量无用的页面,浪费系统资源,网络爬虫是Web漏洞扫描的基础功能模块,其功能为获取目标站点的目录结构、对各个页面的HTML源码进行解析,将其中的URL链接和表单等信息通过HTML解析器提取出来,存入数据库,以生成对目标站点的攻击测试请求,因此,若使用普通爬虫将使得整个扫描过程耗费的时间长,效率低下.
本文首先分析针对提取表单而设计的表单爬虫的搜索算法:搜集站内新站点的自适应窗作者简介:付堂欢(1986),男,硕士,主要研究方向:信息安全通信联系人:白中英(1941),男,教授,主要研究方向:计算机体系结构.
E-mail:bzy66@sina.
com口策略以及搜集表单的导航链接策略,由于其充分考虑了表单在Web站点中的分布规律,使得表单爬虫相对于普通爬虫在Web漏洞扫描的应用中更加有效,基于此,本文提出了一款基于表单爬虫的WEB漏洞扫描系统的设计方案.
2.
Web漏洞检测技术根据著名IT信息研究与咨询公司Gartner的统计和分析,目前市面上75%以上的网络攻击都在应用层,而且这一数字有增长的趋势.
网页已取代网络成为黑客攻击的最主要渠道[5].
传统的防护措施已经越来越无法满足当前的Web安全现状,如防火墙、IDS等并不能防御Web应用层的攻击,且很长一段时间内对于Web安全的认识存在误区,认为Web安全指的是Web服务器的安全[6].
随着Web漏洞攻击日益升级,越来越多的组织和机构加大了Web漏洞检测技术的研发投入.
Web应用安全检测技术指的是安全检测技术在Web漏洞检测上的应用,通过对Web漏洞的形成和攻击原理的研究,针对每类漏洞,提取其特征码,形成Web安全漏洞特征库,再利用自动化检测技术,在此基础上研发漏洞检测工具[7].
先设置扫描目标后,然后启动扫描器,扫描器自动运行,一旦发现含有漏洞的页面后,将漏洞详细信息自动记录在报表中,对网站的安全给出评估报告[8].
Web漏洞检测技术大致经历了三个阶段,即人工检测、基于管理员的主机检测及基于攻击者的网络检测.
在web应用的早期,对web应用的漏洞检测一般是通过开发者人工检测的方式进行的,人工检测很大程度上受制于检测者的技术水平,且效率低下,基于管理员的主机检测系统虽然实现了漏洞检测的自动化,提高了效率,但由于随着Web应用分布式的发展趋势,这种检测技术必须将系统安装在目标主机上,于是也被历史淘汰.
在1995年,第一个基于网络的扫描器SATAN问世,标志着基于网络的扫描时代的到来.
2.
1基于网络的Web漏洞检测当前的大多数基于网络的Web扫描器,其工作原理如下:首先通过网络爬虫从目标站点的根页面开始,分析其HTML源码,获取其中的URL及动态交互点等相关信息,再通过探索新发现的URL获取整个目标站点的目录结构及动态交互点,扫描器再根据获取到的动态交互点,以漏洞特征库为参照,构造攻击测试请求(http或https),再通过客户端,发送给目标站点,扫描器再根据目标站点的回应信息体,将其与漏洞特征库中的特征码进行匹配,从而判断目标站点是否存在特定的漏洞.
基于网络的Web漏洞扫描器一般以插件的形式将漏洞作者简介:付堂欢(1986),男,硕士,主要研究方向:信息安全通信联系人:白中英(1941),男,教授,主要研究方向:计算机体系结构.
E-mail:bzy66@sina.
com特征库添加到系统中,使得系统拥有可扩展性.
2.
2网络爬虫在Web漏洞检测中的作用维基百科中对网络爬虫的定义[9]:自动浏览互联网的程序,又叫自动索引器、网络机器人等.
网络爬虫程序是从一个起始url开始,通过不断分析网页的内容,运用其算法找到新的url,再根据新的url找到更多的网页,不断地循环,抓取网页,直到满足一定的系统设置条件的程序,搜索引擎的网络爬虫应满足可伸缩性、分布式、友好爬行和可定制等要求[10].
当前的爬虫程序根据其实现技术,可分为通用爬虫和主题爬虫,通用爬虫爬取根URL衍生的所有网页,主要被门户网站等大型Web服务提供商采用[11].
主题爬虫则选择性的爬取和预设主题相关的网页[12].
一般来说,主题爬虫比通用爬虫更能满足用户对某一特定领域的信息需求[13].
网络爬虫在基于网络的Web漏洞扫描器中,是重要的基础功能模块,其获取目录结构及分析HTML源码的效率,将直接影响系统的准确性和执行效率[14],而传统的扫描器中的爬虫程序,只是简单的在通用爬虫的基础上采用稍作改进的广度优先遍历算法,对HTML的解析则采用确定的有限自动机,而由于这样的爬虫程序并未考虑Web站点中目录结构的特点和动态交互点的分布规律,使得爬虫程序抓取了大量无用的页面,对HTML的解析也并不准确,从而降低了整个扫描器的性能,本文采用针对Web漏洞检测特定需求设计的表单爬虫,来构建整个Web漏洞扫描系统,以提高其性能.
3.
表单爬虫表单爬虫程序的功能可分为三个,一个是站内新站点搜集,使用自适应窗口策略;另一个是表单搜集,采用导航链接策略;以及HTML解析器,采用正则表达式.
表单爬虫的工作流程为:首先从目标站点的根URL开始,使用自适应窗口策略搜索新站点,将其保存.
再以保存的新站点为单位,使用导航链接策略搜索每个站点中的有效URL,将其保存.
最后依次取出保存的URL,利用HTML解析器提取出表单信息.
3.
1基于自适应窗口策略的新站点搜集在搜索新站点的过程中发下如下规律:即往往沿着包含较多新站点的页面往下搜索,可以搜索到更多的新站点,因此,根据此规律设计自适应的窗口搜索策略,以使得爬虫程序在兼顾页面覆盖率的同时,提高其搜索效率,自适应窗口策略的大致思路是给爬虫程序设置门阀值,若某些页面中包含新站点的数量小于此门阀值,则停止对其搜索,以节省搜索时间,作者简介:付堂欢(1986),男,硕士,主要研究方向:信息安全通信联系人:白中英(1941),男,教授,主要研究方向:计算机体系结构.
E-mail:bzy66@sina.
com若大于或等于此门阀值,则沿着这些页面继续搜索.
如下图:图1自适应窗口策略图中节点表示网页,其数字表示包含的新站点数,箭头表示链接,C表示门阀值,W表示窗口大小,窗口大小指的是相邻的兄弟节点数,其搜索流程为:若窗口中的兄弟节点的新站点数的总和大于或等于门阀值,则此节点的孩子节点将被搜索,否则,将窗口移动一个节点,在窗口中重复以上过程,整个过程采用广度优先,直到搜索到规定的深度为止.
根据以上描述,图示中的搜索过程为:从根节点A开始,窗口里的节点首先是B和C,由于B和C中包含的新站点总数为4,小于门阀值5,则将B的子节点舍弃,窗口移动一个节点,此时C和D节点在窗口中,由于C和D节点中的新站点总数为5,等于门阀值,则C和D的子节点将被搜索,窗口再移动一个节点,由于D和E的值不符合条件,E的子节点将被舍弃,窗口进入下一层节点,重复上述过程G和H的子节点将被搜索,直到达到规定的搜索深度为止.
3.
2基于导航链接策略的表单搜集表单是漏洞检测的重要动态交互点,爬虫程序对表单的获取效率很大程度上决定了整个系统的运行效率,表单爬虫对表单的提取采用导航链接策略,该策略基于如下事实:很多表单位于WEB站点的浅层页面,比如入口页面,且沿着导航链接搜索,往往可以搜索到大多作者简介:付堂欢(1986),男,硕士,主要研究方向:信息安全通信联系人:白中英(1941),男,教授,主要研究方向:计算机体系结构.
E-mail:bzy66@sina.
com数的表单,所以表单爬虫采用导航链接策略,沿着导航链接搜索表单,可以忽略很多无用的页面,节省时间,提高系统效率.
导航链接在页面上的分布遵循以下规律:导航链接在页面HTML中的显示格式和其它的链接有明显不同,呈现规则性,且导航链接往往在很多页面里反复出现,因此可以根据此规律将特定显示格式且反复出现的链接判定为导航链接.
根据以上分析,根据以下两个步骤判定页面中的导航链接.
步骤1:首先根据下列分布规律计算式计算出页面中的链接Rank值:Rank(k)=W(s)*size(k)+W(a)*anchorttext(k)+W(d)*dist(k)[15]将一个页面中的所有链接提取出来,记为集合A,将所有连续水平或垂直排列三个以上链接的链接组记为K,将集合A划分成多个互不相交的链接组,对每个链接组采用以上公式计算Rank值.
其中,size(k)表示该链接组中的链接数量;anchorttext(k)表示链接组中锚文本字数占总字数的比值;dist(k)为链接组在页面上离边界的距离;W(s)、W(a)和W(d)则分别是size(k)、anchorttext(k)和dist(k)在计算Rank值时所赋予的权重,当其取1:1:2时,能得到最准确的Rank值.
步骤2:取出页面中Rank值排名前三的链接组里的链接,记作U,顺着U访问其链向的页面,将该页面记作P,若在页面P中也存在链接U,则可判定U为导航链接.
3.
3基于正则表达式的HTML解析器HTML和XML不同,XML格式的内容严格按照标签匹配的方式构造,因此,只要严格通过标签匹配就能解析到想得到的任何内容,而HTML不同,它并没有严格的配对标签,这就给解析带来了较大的困难,传统的HTML解析器是通过确定性的有限自动机(DFA)解析HTML页面的,但是这种方式效率低下,特别是对表单等漏洞扫描最关注的动态交互内容不能达成满意的效果,因此,本文采用正则表达式来提取出页面中的URL和表单等有价值的信息,具体如下:URL提取在页面的HTML中,标签、、、中都有可能存在URL,因此需要针对每个可能存在URL的标签定义一个正则表达式,以解析其中各种属性,提取出URL,以标签为例,其基本格式为,(各种属性用*号代替).
其正则表达式为:作者简介:付堂欢(1986),男,硕士,主要研究方向:信息安全通信联系人:白中英(1941),男,教授,主要研究方向:计算机体系结构.
E-mail:bzy66@sina.
com在用正则表达式提取出URL后,还需对其进行填充处理,使之成为完整的绝对路径.
表单提取以标签为例,表单的基本格式为***action="URL"method=***>***对表单的提取采用以下四个步骤:步骤1:将整个表单内容用以下正则表达式提取出来步骤2:提取出表单中如action、method等属性步骤3:提取表单中各项属性的属性值,如input、textarea等的name、type等值作者简介:付堂欢(1986),男,硕士,主要研究方向:信息安全通信联系人:白中英(1941),男,教授,主要研究方向:计算机体系结构.
E-mail:bzy66@sina.
com步骤4:将提取到的表单数据和其请求的URL进行关联,存入协议数据库,以供攻击检测模块调用4.
系统各模块设计基于以上分析,本文对于一款基于网络的WEB应用漏洞扫描的系统的核心模块进行了设计,该设计的后台主要模块可分为四个:控制调度模块、网络爬虫模块、扫描功能模块和数据库.
本文旨在论述系统的设计思想及相关的技术原理,其各模块的工作关系如下图.
图2系统工作流程作者简介:付堂欢(1986),男,硕士,主要研究方向:信息安全通信联系人:白中英(1941),男,教授,主要研究方向:计算机体系结构.
E-mail:bzy66@sina.
com4.
1控制调度模块控制调度模块,既是控制整个系统执行顺序的模块,一般的小型系统可以将控制调度的逻辑直接写进代码中,这样,系统就能严格按照代码的顺序执行相关的功能,但是如若系统增加了一个功能或者删减了一个功能,就需要对调度的代码做直接修改,对于一个注重扩展性的系统而言,这显然是不合理的,当一个系统经常做功能上的修改,这种方式将浪费掉大量的时间和精力,抬高了系统的维护成本,本文设计的系统的特点之一便是扩展性强,所以本系统将调度模块和其它模块解耦,调度模块只从配置文件获得各个模块的执行顺序,而一旦有模块的增加或删减,也只对配置文件做修改,这样就避免了模块之间的耦合,提高了系统的扩展性.
其工作流程如下图.
图3控制调度流程第一步:加载系统和数据库的配置文件,获得运行参数.
第二步:根据配置文件获得的参数,将http访问、数据库、和线程池等系统运行的公共组件进行初始化.
第三步:根据获得的运行参数及调度顺序,后台各功能模块顺序执行.
4.
2配置文件模块为了使各个模块之间的解耦,本系统运行中用到的可变参数均通过配置文件的形式给定,根据本系统的架构,需用到的配置文件有:Config.
xml、SysConfig.
xml、CrawlConfig.
xml、LoginSequnce.
xml、DataBaseConfig.
xml、ScanTemplate.
xml.
所有配置文件均采用XML格式作者简介:付堂欢(1986),男,硕士,主要研究方向:信息安全通信联系人:白中英(1941),男,教授,主要研究方向:计算机体系结构.
E-mail:bzy66@sina.
com给出.
其中,Config.
xml是系统启动时加载的第一个配置文件,但其并未提供具体的配置,而是罗列了其它所有配置文件的路径,系统通过读取Config.
xml,可依次加载各个配置文件;SysConfig.
xml可配置系统的运行参数,例如开启的最大的线程并发数、响应超时时间等;CrawlConfig.
xml则可配置网络爬虫的参数,如扫描的最大深度等;LoginSequnce.
xml则是用于记录需登录方可访问网页时的cookie信息,以提供给爬虫程序爬取这些页面,DataBaseConfig.
xml则是对数据库的相关配置;ScanTemplate.
xml可配置各个漏洞类型扫描的执行顺序及执行参数,如SQL注入扫描和XSS扫描.
如下图.
图4配置文件结构4.
3网络爬虫模块根据第三章的论述,本系统采用表单爬虫,应用发现新站点的自适应窗口策略以及提取表单的导航链接策略.
爬虫程序在Web漏洞检测中的功能有两个:1、得到目标站点的目录结构.
2、提取出网页中如表单的动态交互点等信息.
爬虫程序首先使用自适应窗口策略得到站内所有站点,并将站点的URL存入unserarchedsite队列中,之后爬虫程序遍历unserarchedsite队列,从每个站点开始,使用导航链接策略搜索包含表单信息的页面,并将其URL存入unserarchedpage队列中.
由于遍历过程相同,因此站点URL和页面URL采用相同的队列和数据表结构,分别为unserarchedsite作者简介:付堂欢(1986),男,硕士,主要研究方向:信息安全通信联系人:白中英(1941),男,教授,主要研究方向:计算机体系结构.
E-mail:bzy66@sina.
com队列、searchedsite表和unserarchedpage队列、searchedsitepage表,队列和数据表的结构如下图.
图5unserarched队列和searched表由于爬虫程序对站点的遍历和对网页的遍历过程相同,现对其统一描述:爬虫程序将得到的有效地未爬取的url存入先进先出的unserarched队列,将已经爬取过的url则存入searched表中,searched表有两个字段,URL/链接和URL别名,都为VARCHAR(255)类型,为了防止反复爬取相同的url而使得爬虫程序陷入死循环,爬虫程序每次从unserarched队列头取出url,将该url与serarched表中的所有url进行遍历匹配,如该url已存在于serarched表中,则舍弃,若不存在,则采用.
为使得爬虫的爬行深度可以设置,可从站点的根目录开始,对爬行的深度进行计数,当子目录的层次超过预设定的值时,爬虫程序结束爬行.
网络爬虫在得到页面URL的同时,爬虫程序利用HTML解析器,也获取到了如动态表单等的动态交互点的信息,爬虫程序将表单中method、test、value、submit、get、post等关键字,及表单的提交方式和隐藏属性提取出来.
并将这些协议数据存入数据库的协议数据表中.
综上,网络爬虫模块的功能为爬行目录结构和分析页面信息,而对页面的爬行和分析的过程是交互进行的,可通过线程池实现它们的并行执行,使得爬虫程序在爬取新页面的同时对已经获取到的页面进行分析,提高执行效率,其执行流程如下图.
作者简介:付堂欢(1986),男,硕士,主要研究方向:信息安全通信联系人:白中英(1941),男,教授,主要研究方向:计算机体系结构.
E-mail:bzy66@sina.
com图6爬虫模块执行流程4.
4扫描功能模块此模块又分为两个子模块,即协议分析模块和模拟攻击模块.
协议分析子模块如前所述,爬虫程序获得了目标站点的目录结构以及所有页面的协议信息,并已将页面的协议信息存入协议数据库中,协议分析模块的工作便是将协议数据库中的数据和检测参数数据库发生关联,产生攻击请求,再将攻击请求存入检测结果数据库中,以供模拟攻击模块调用.
由于一个web站点所有页面的协议数据量可能非常庞大,而并不是所有的协议数据都会产生漏洞,因此,必须对协议数据进行全面而详细的分析,协议分析模块会遍历协议数据库中的所有数据,找到这些动态交互点中可以向目标web站点提交的参数类型,并将这些参数类型和检测参数数据库中的参数类型进行匹配,生成攻击请求URI及其特征信息,并将其存入检测结果数据库中.
协议分析模块会根据一个交互点的一种数据类型生成所有的检测请求,模拟攻击模块针对这种数据类型的攻击请求发送完毕后,协议分析模块再产生同一个交互点的其它数据类型的检测请求,直到所有数据类型测试完毕后,再针对下一个交互点重复同样的过程.
模拟攻击子模块作者简介:付堂欢(1986),男,硕士,主要研究方向:信息安全通信联系人:白中英(1941),男,教授,主要研究方向:计算机体系结构.
E-mail:bzy66@sina.
com模拟攻击模块负责每次从检测结果库中取出一条记录,向web站点发送HTTP或者HTTPS的URI请求,得到响应状态码和响应内容,再将其和检测结果库中该记录对应的参数信息进行对比,若响应状态码和Status字段相等或者响应内容包含Keyword中所罗列的关键字,则可判定为攻击成功,存在漏洞,则该记录不变,否则,攻击失败,不存在该漏洞,将该记录从检测结果库中删除.
值得注意的是,由于模拟攻击模块可集中的向目标站点发送大量的URI请求,这可能会影响到目标站点,应设法避免这种情况的发生.
由于不管是基于哪种漏洞的检测,比如SQL注入和XSS跨站脚本,或者其它的漏洞类型,改变的只是检测参数数据库,而其它的系统执行和调用流程,统一的,所以不对某种特定的漏洞检测单独论述.
基于以上,扫描攻击模块的执行流程如下图.
图7模拟攻击模块执行流程4.
5数据库基于以上的系统执行流程,可知本系统涉及的主要数据库有三个,即协议数据库、检测作者简介:付堂欢(1986),男,硕士,主要研究方向:信息安全通信联系人:白中英(1941),男,教授,主要研究方向:计算机体系结构.
E-mail:bzy66@sina.
com参数数据库、检测结果数据库.
这三个数据库连接了扫描功能模块的各个核心环节,是本系统设计所必须关注的重要部分,因此将这三个数据库的设计论述如下:协议数据库图8协议数据库URL(VARCHAR(255)):记录交互单元是在哪个URL页面上appName(VARCHAR(255)):主键码,WEB应用的URL.
TypeID(INT):记录交互单元属于哪种类型,静态的还是动态的,若是动态的,则是采用GET方式还是POST方式提交,以便以此生成相应的测试请求.
authorizedRequest(VARCHAR(255)):记录发送给WEB服务器的正确的请求,在生成测试请求时,只要将检测参数替换掉本属性对应的参数,即可生成高效的检测请求.
elementData(VARCHAR(255)):记录交互单元的信息.
Crawled(INT):标记是否已被爬虫程序遍历,是则1,否则0.
检测参数数据库当协议数据库生成之后,系统将通过检测参数中的检测参数来构造各种类型的检测请求,并将检测请求存入检测结果数据库中,当得到服务器的返回信息之后,又要根据检测参数数据库来判断服务器是否存在该漏洞,因此,根据检测参数数据库的功能,设计其结构如下:图9检测参数数据库parameterType(VARCHAR(255)):记录动态交互点的类型,如text或textArea,将该属性的值和协议数据库中的某条记录的类型相匹配,以生成相应的检测请求.
Vulnerability(VARCHAR(255)):记录该检测所针对的漏洞,如SQL注入或XSS跨站脚本等,可根据本属性的值来区分和定制不同类型的漏洞检测.
keyWord(VARCHAR(255)):记录脆弱关键字,当检测请求发送给服务器后,根据该属性的值是否存在于回应信息中来判断系统是否存在该漏洞.
Pos1、Pos2(VARCHAR(255)):记录脆弱关键字的上下文,通过判断检测请求的响应信息是否存在于该上下文来判断是否存在漏洞.
severity(VARCHAR(255)):记录漏洞的危险级别.
作者简介:付堂欢(1986),男,硕士,主要研究方向:信息安全通信联系人:白中英(1941),男,教授,主要研究方向:计算机体系结构.
E-mail:bzy66@sina.
com检测结果数据库系统根据协议数据库和检测参数数据库生成检测请求,并将其存入检测结果数据库中,检测结果数据库结构如下:图10检测结果数据库URL(VARCHAR(255)):记录动态交互点所在的URL.
Vulnerability(VARCHAR(255)):记录该检测所针对的漏洞,如SQL注入或XSS跨站脚本等.
authorizedRequest(VARCHAR(255)):记录访问该页面的"正确请求".
mutatedRequest(VARCHAR(255)):记录完整的检测请求,即用检测参数替换了authorizedRequest的属性值得到的检测请求.
severity(VARCHAR(255)):记录漏洞的危险级别.
scaned(INT):记录是否该请求已被发送过,是为1,否则0.
Keyword(VARCHAR(255)):记录脆弱关键字,当检测请求发送给服务器后,根据该属性的值是否存在于回应信息中来判断系统是否存在该漏洞.
Pos1、pos2(VARCHAR(255)):记录脆弱关键字的上下文,通过判断检测请求的响应信息是否存在于该上下文来判断是否存在漏洞.
5.
系统性能分析本系统采用表单爬虫,爬虫程序对Web漏洞扫描器的性能有直接影响,因此首先验证表单爬虫相对于普通爬虫的优越性,现对5个典型站点分别用普通爬虫的广度优先策略和表单爬虫的自适应窗口策略、导航链接策略分别进行爬取,设置不同的爬行参数,统计抓取到的网页数、表单数等,取单项数据总和,换算成有效率和覆盖率,得出以下实验数据.
定义1有效率:得到的表单数和爬过的网页数的比值.
反映提取表单的效率.
定义2覆盖率:得到的表单数和途经的站点中表单总数的比值.
反映得到表单是否全面.
作者简介:付堂欢(1986),男,硕士,主要研究方向:信息安全通信联系人:白中英(1941),男,教授,主要研究方向:计算机体系结构.
E-mail:bzy66@sina.
com图11普通爬虫和表单爬虫性能对比从表中可以看出,普通爬虫采用广度优先遍历算法,其抓取到的网页数和表单数随着爬行深度的加深而递增,覆盖率在增加,且深度为8时其获取的表单可覆盖95%,但是随着爬虫深度的增加,其有效率却在不断地下降,表明随着深度的增加,表单的分布越来越稀疏,爬虫抓取了大量的无用网页,表单爬虫采用自适应窗口策略和导航链接策略,为了和广度优先策略对比,先将表单爬虫的爬行深度设为8,此时,当其参数设置为高下限值C=6,低窗口值W=2时,其有效性很高,达到58%,但是覆盖率太低,仅有45%,而设置为低下限值C=2,高窗口值W=5时,其各项数据趋近于广度优先策略,而当其爬取深度设为5时,此时其下限值和窗口值都设置为3,可见,其数据既有较高的有效率又有较高的覆盖率,此时表单爬虫获取到了4650个表单,达到了92%的覆盖率,但是其抓取的网页数仅有10830个,有效率达到43%,远远高于广度优先策略D=8时的10%,由此可见,表单爬虫采用自适应窗口策略和导航链接策略,充分利用了表单在网站中的分布规律,使得其执行效率,较之普通爬虫,有了较大提高,而爬虫程序是Web漏洞扫描的基础功能模块,其抓取网页和提取动态交互点的效率和准确性,将直接影响整个系统的运行效率和检测结果的准确性.
因此,采用表单爬虫的Web漏洞扫描系统,较之采用普通爬虫的扫描器,其性能也将得到较大提高.
6.
总结本文研究了表单爬虫的搜索算法,对搜索站内新站点的自适应窗口策略以及搜索表单的导航链接策略作出了详细的阐述,并将其应用到本文设计的Web漏洞扫描系统中,由于时间和篇幅关系,未对各个具体漏洞的检测过程作出详细论述,主要以讲述检测原理为主.
本文在设计时主要关注后台核心模块,忽略了用户界面及其它辅助模块等,且未提供其具体实现代码,本文主要阐述设计思想,在细节和完整性上还有待完善.
作者简介:付堂欢(1986),男,硕士,主要研究方向:信息安全通信联系人:白中英(1941),男,教授,主要研究方向:计算机体系结构.
E-mail:bzy66@sina.
com参考文献[1]CenzicInc.
http://www.
cenzic.
com/,ImperativeWebApplicationAssessmentPlan,2003.
[2]陆凯.
Web应用程序安全漏洞挖掘的研究.
[硕士学位论文].
西安电子科技大学.
2010.
[3]王丰辉.
漏洞相关技术研究.
[硕士学位论文].
北京邮电大学,2006.
[4]OWASP.
Top102007[EB/OL].
(2009—11).
http://www.
owasp.
org/index.
php/Top_10_2007.
[5]许艳蕊,钟求喜,胡华平.
网络漏洞扫描系统的功能分析与CIM建模.
计算机工程与科学2006,28(2):16-19.
[6]刘大勇.
Web的安全威胁与安全防护[J].
大众科技,2005(6):39.
[7]李必云,石俊萍.
Web攻击及安全防护技术研究[J].
电脑知识与技术:学术交流,2009,5(11):8647-8649.
[8]网络爬虫.
Wikipedia.
http://en.
wikipedia.
org/wiki/Web_crawler.
[9]尹虹.
WEB应用程序漏洞主动扫描器的研究与实现.
[硕士学位论文].
国防科技大学.
2005.
[10]CHAPELAVAdvancedSQLinjection2005.
[11]赵艳.
基于网络爬虫的跨站脚本漏洞动态检测技术研究.
[硕士学位论文].
西南交通大学.
2011.
[12]S.
Chakrabarti,M.
VandenBergandB.
DoIll.
FocusedCrawling:ANewApproachtoTopic-SpecificWebResourceDiscovery【C】.
InProceedingsofthe8thInternationalWorldWideWebConference,Toronto,Canada,1999.
[13]赵亭,陆余良,刘金红,孙宏纲,施凡.
基于表单爬虫的Web漏洞探测.
计算机工程.
2008(9),3428-186.
[14]沈寿忠.
基于网络爬虫的SQL注入与XSS漏洞挖掘.
[硕士学位论文].
西安电子科技大学.
2009.
[15]何玉宝,刘正捷,田晓杰.
网站拓扑结构提取技术的研究与应用.
计算机工程,2005,32(1):15-1.
ResearchAndDesignOfWebVulnerabilityScanningSystemBasedOnFormCrawlerFuTanghuanSchoolofComputerScience,BeijingUniversityofPostsandTelecommunications,Beijing,100876AbstractAlongwiththerapiddevelopmentofcomputerandnetworktechnology,theInternethasprovidedpeoplewithconvenienceandwealthcreation,butatthesametime,therearemanyofwebapplicationflawsontheInternetalso,theseflawshavecausedseriousharmtobusinessesandusersofinformationsecurity.
Webvulnerabilityscannerusedthecrawler,whichjustmakesslightmodificationsbaseonthecommoncrawlerwithbreadth-firsttraversalalgorithm,isalwayslessefficient.
thispaperfocusedontheanalysisofthealgorithmwhichformcrawlerusedtocrawlthewebpage,proposedadesignofWebVulnerabilityscanningsystembasedonformcrawler,andmakeasummarydesignofitscoremodules作者简介:付堂欢(1986),男,硕士,主要研究方向:信息安全通信联系人:白中英(1941),男,教授,主要研究方向:计算机体系结构.
E-mail:bzy66@sina.
comanddatabase.
Finally,theefficiencyofWebvulnerabilityscanningsystembasedonformcrawlerwasvalidatedinthepaper.
Keywords:Webvulnerability,formcrawler

UCloud优刻得,新增1核1G内存AMD快杰云机型,服务器2元/首月,47元/年

UCloud优刻得近日针对全球大促活动进行了一次改版,这次改版更加优惠了,要比之前的优惠价格还要低一些,并且新增了1核心1G内存的快杰云服务器,2元/首年,47元/年,这个价格应该是目前市面上最低最便宜的云服务器产品了,有需要国内外便宜VPS云服务器的朋友可以关注一下。UCloud好不好,UCloud服务器怎么样?UCloud服务器值不值得购买UCloud是优刻得科技股份有限公司旗下拥有的云计算服...

raksmart:全新cloud云服务器系列测评,告诉你raksmart新产品效果好不好

2021年6月底,raksmart开发出来的新产品“cloud-云服务器”正式上线对外售卖,当前只有美国硅谷机房(或许以后会有其他数据中心加入)可供选择。或许你会问raksmart云服务器怎么样啊、raksm云服务器好不好、网络速度快不好之类的废话(不实测的话),本着主机测评趟雷、大家受益的原则,先开一个给大家测评一下!官方网站:https://www.raksmart.com云服务器的说明:底层...

香港、美国、日本、韩国、新加坡、越南、泰国、加拿大、英国、德国、法国等VPS,全球独立服务器99元起步 湘南科技

全球独立服务器、站群多IP服务器、VPS(哪个国家都有),香港、美国、日本、韩国、新加坡、越南、泰国、加拿大、英国、德国、法国等等99元起步,湘南科技郴州市湘南科技有限公司官方网址:www.xiangnankeji.cn产品内容:全球独立服务器、站群多IP服务器、VPS(哪个国家都有),香港、美国、日本、韩国、新加坡、越南、泰国、加拿大、英国、德国、法国等等99元起步,湘南科技VPS价格表:独立服...

如何检测网站漏洞为你推荐
三星iphone搜狗360没有登录过搜狗浏览器,只是用搜狗高速浏览器等QQ淘宝会有事情么搜狗360360影视大全怎样免费看大片cuteftp什么是CuteFTP?如何将网站内容上传(FTP)到网站空间?dell服务器bios设置dell怎样进入bios设置界面美要求解锁iPhone如何看美版苹果是有锁无锁ipad代理想买个ipad,3000至4000元左右有什么好的大飞资讯手机出现热点资讯怎么关闭大飞资讯单仁资讯集团怎么样开放平台企鹅号和腾讯内容开放平台是一样的吗,有什么区别?
网络域名 网站虚拟主机空间 万网域名解析 星星海 国外php空间 地址大全 个人免费空间 777te 静态空间 免费美国空间 天翼云盘 台湾谷歌 爱奇艺会员免费试用 超级服务器 联通网站 丽萨 阿里云免费邮箱 smtp服务器地址 ledlamp 美国迈阿密 更多