一种扫描漏洞的方法、装置及电子设备的制造方法_3

文档序号:9754592阅读:来源:国知局
参数对应的请求参数值包含在包中。
[0085]以get方式为例,例如,如果一漏洞扫描请求报文经过报文体解析后,为http: Il1.1.1.l?id=123&method = getuserinfo,该请求报文表示获取指定用户标识(id为123)的用户信息,请求参数包括:1d以及method,其中,请求参数id对应的请求参数值为123,请求参数method对应的请求参数值为getuserinfo。
[0086]作为一可选实施例,本发明实施例中,对请求参数值进行编辑,例如,通过脚本的方式,自动依次替换id = XXX的值来检测服务端是否存在用户隐私泄露漏洞,例如,如果将请求参数值修改成id = 124,后续进行封装后,服务器也能返回其他用户信息,表明服务器允许一个用户可以请求获取多个用户的信息,则说明服务端存在漏洞,表明攻击者可通过构造大量的id,例如,利用脚本将id从1-9999999全部轮询一遍,从而可以从服务器获取所有用户信息,造成用户信息的泄露。
[0087]本发明实施例中,通过修改请求参数值,还可以避免需要通过不同的客户端发送漏洞扫描请求报文导致的生成漏洞扫描请求报文重复繁琐,耗费较大人力和物力的情形。
[0088]再例如,对于一获取短信验证码的漏洞扫描请求报文,如果解析报文体后为:http://1.1.1.1?mobiIe = 1331111111 l&method = chkcode,通过设置自动每隔5秒发送,若重复请求N次,服务器都正常返回短信验证码,则说明服务器没有限制获取时间,使得攻击者可以对一个号码重复请求任意次,达到短信轰炸的效果。
[0089]步骤14,将经过编辑的报文体封装为待发送漏洞扫描请求报文,按照预先设置的时间周期向服务器发送,并接收从所述服务器返回的漏洞扫描响应报文,以确定所述服务器是否存在漏洞。
[0090]本步骤中,例如,如前所述,如果将请求参数值id从1-9999999全部轮询一遍,分别封装为对应待发送漏洞扫描请求报文,可以按照每5秒发送一次轮询生成的漏洞扫描请求报文;而对于获取短信验证码的漏洞扫描请求报文,可以不对请求参数值进行编辑,按照每5秒重复发送一次,从而结合预先设置的时间周期发送,可以检测出服务器中更多的漏洞。
[0091]本发明实施例中,作为一可选实施例,如果为业务请求报文,服务器返回的为业务应答报文,如果是构造测试报文,服务器返回的为响应报文。可以通过提取服务器返回的漏洞扫描响应报文,解析后提取其特征字词,与预先设置的漏洞库中的特征字词进行匹配,以确定所述服务器是否存在漏洞;或者,提取服务器返回的漏洞扫描响应报文,与预先设置的应用功能对应的标准请求响应报文进行匹配,以确定所述服务器是否存在漏洞。关于依据服务器返回的结果确定所述服务器是否存在漏洞为公知技术,在此略去详述。
[0092]由上述可见,本发明实施例扫描漏洞的方法,通过截获客户端将要发送至服务器的各漏洞扫描请求报文;从截获的各漏洞扫描请求报文中,筛选出采用预先设置的传输协议传输的漏洞扫描请求报文;对筛选出的漏洞扫描请求报文中的报文体进行解析,编辑解析的报文体中的请求参数值;将经过编辑的报文体封装为待发送漏洞扫描请求报文,按照预先设置的时间周期向服务器发送,从而依据接收的漏洞扫描响应报文分析服务器是否存在漏洞。这样,通过截获漏洞扫描请求报文,编辑报文体中的请求参数值来实现对服务器漏洞的扫描,无需在不同的客户端中构造漏洞扫描请求报文,降低了实现服务器漏洞扫描所需的时间,从而提升漏洞扫描效率;同时,按照预先设置的时间周期向服务器发送封装的漏洞扫描请求报文,可以有效避免客户端预先设置的漏洞防范机制导致的服务器中存在的漏洞被漏检的情形,提高了漏洞扫描的准确率。
[0093]图2为本发明实施例扫描漏洞的装置结构示意图。参见图2,该装置包括:截获模块21、提取模块22、编辑模块23以及漏洞扫描模块24,其中,
[0094]截获模块21,用于截获客户端将要发送至服务器的各漏洞扫描请求报文;
[0095]本发明实施例中,作为一可选实施例,可以预先编写用于截获漏洞扫描请求报文的脚本,并将编写的脚本注入到客户端中,用以对客户端发出的漏洞扫描请求报文进行拦截。
[0096]提取模块22,用于从截获的各漏洞扫描请求报文中,筛选出采用预先设置的传输协议传输的漏洞扫描请求报文;
[0097]本发明实施例中,作为一可选实施例,所述预先设置的传输协议为超文本传输协议。
[0098]本发明实施例中,对于未采用预先设置的传输协议传输的漏洞扫描请求报文,采用现有流程进行处理。
[0099]编辑模块23,用于对筛选出的漏洞扫描请求报文中的报文体进行解析,编辑解析的报文体中的请求参数值;
[0100]本发明实施例中,客户端和服务器之间进行请求-响应时的方式包括:get方式以及post方式,对于get方式,请求参数以及请求参数对应的请求参数值包含在统一资源定位符中;对于post方式,请求参数以及请求参数对应的请求参数值包含在包中。
[0101]漏洞扫描模块24,用于将经过编辑的报文体封装为待发送漏洞扫描请求报文,按照预先设置的时间周期向服务器发送,并接收从所述服务器返回的漏洞扫描响应报文,以确定所述服务器是否存在漏洞。
[0102]本发明实施例中,作为一可选实施例,图3为本发明实施例的提取模块结构示意图。参见图3,该提取模块包括:解析单元31、字段判断单元32以及存储单元33,其中,
[0103]解析单元31,用于解析截获的漏洞扫描请求报文的报文头;
[0104]字段判断单元32,如果解析得到的报文头中包含的相关字段为预先设置的传输协议字段,通知存储单元33;
[0105]存储单元33,用于存储所述漏洞扫描请求报文。
[0106]本发明实施例中,作为另一可选实施例,提取模块还包括:
[0107]去重单元34,用于接收字段判断单元32输出的通知,对筛选出的漏洞扫描请求报文按照应用功能去重,获取每一应用功能对应的一漏洞扫描请求报文,输出至存储单元33。
[0108]图4为本发明实施例的编辑模块结构示意图。参见图4,该编辑模块包括:报文解析单元41、请求响应方式判断单元42、请求参数第一编辑单元43以及请求参数第二编辑单元44,其中,
[0109]报文解析单元41,用于解析提取的漏洞扫描请求报文,得到解析的报文头以及报文体;
[0110]请求响应方式判断单元42,用于依据所述解析的报文头判断客户端和服务器之间进行请求-响应时的方式:
[0111]如果所述客户端和服务器之间进行请求-响应时的方式为get方式,通知请求参数第一编辑单元43;如果所述客户端和服务器之间进行请求-响应时的方式为post方式,通知请求参数第二编辑单元44 ;
[0112]请求参数第一编辑单元43,用于接收通知,编辑报文体的统一资源定位符中的请求参数值;
[0113]请求参数第二编辑单元44,用于接收通知,编辑报文体的包中的请求参数值。
[0114]图5为本发明第一实施例的漏洞扫描模块结构示意图。参见图5,该漏洞扫描模块包括:封装单元51、发送单元52、特征提取单元53以及特征匹配单元54,其中,
[0115]封装单元51,用于将经过编辑的报文体封装为待发送漏洞扫描请求报文;
[0116]发送单元52,用于按照预先设置的时间周期向服务器发送所述漏洞扫描请求报文;
[0117]特征提取单元53,用于提取服务器返回的漏洞扫描响应报文,解析所述漏洞扫描响应报文后提取特征字词;
[0118]特征匹配单元54,用于将提取的特征字词与预先设置的漏洞库中的特征字词进行匹配,以确定所述服务器是否存在漏
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1