上的文件上传入口,然后通过该文件上传入口自动地上传预设好的漏洞检测文件,并在该漏洞检测文件上传成功的情况下,检测出该文件上传入口为存在上传漏洞的入口,确定待检测网页上存在上传漏洞。
[0039]在本发明的上述实施例中,客户端可以通过服务器反馈的预设的漏洞检测文件是否上传成功的消息判断通过文件上传入口向服务器上传预设的漏洞检测文件是否成功。
[0040]在一个可选的实施例中,客户端判断通过文件上传入口向服务器上传预设的漏洞检测文件是否成功可以包括:检测服务器上是否存在预设的漏洞检测文件;若服务器上存在预设的漏洞检测文件,则判断出通过文件上传入口向服务器上传预设的漏洞检测文件成功。
[0041]具体地,漏洞检测文件中可以包括文件标识符,其中,检测服务器上是否存在预设的漏洞检测文件可以包括:检测服务器上是否存在文件标识符;若服务器上存在文件标识符,则判断出服务器上存在预设的漏洞检测文件。
[0042]具体地,如图2所示,该方法可以通过如下步骤实现:
[0043]步骤S202:客户端获取待检测网页中的文件上传入口。其中,文件上传入口用于在待检测网页上上传文件。
[0044]步骤S204:客户端通过文件上传入口向网页所在网站的服务器上传预设的漏洞检测文件。其中,漏洞检测文件可以为预设的用于入侵服务器的文件。漏洞检测文件中可以包括文件标识符。
[0045]步骤S202与上述的步骤S102的实现方法一致,在此不再赘述。步骤S204与上述的步骤S104的实现方法一致,在此不再赘述。
[0046]步骤S206:检测服务器上是否存在文件标识符。
[0047]其中,在服务器上存在该文件标识符的情况下,执行步骤S208 ;在服务器上不存在该文件标识符的情况下,执行步骤S210。
[0048]具体地,在该步骤中,可以通过服务器上部署检测预定的漏洞检测文件的程序。在客户端通过文件上传入口将预设的漏洞检测文件上传之后,启动服务器上部署的检测预设的漏洞检测文件的程序,检测服务器上是否存在该预设的漏洞检测文件,在服务器上存在该预设的漏洞检测文件的情况下,确定客户端通过文件上传入口成功上传预设的漏洞检测文件;在服务器上不存在该预设的漏洞检测文件的情况下,确定客户端通过文件上传入口上传预设的漏洞检测文件失败。
[0049]需要进一步说明的是,客户端通过文件上传入口上传的漏洞检测文件中携带有文件标识符,在服务器上启动检测预设的漏洞检测文件之后可以在服务器上搜索预设的漏洞检测文件的文件标识符,如果服务器上存在该文件标识符,则判断出服务器上存在该预设的漏洞检测文件,客户端通过文件上传入口成功上传预设的漏洞检测文件;如果服务器上不存在该文件标识符,则判断出服务器上不存在该预设的漏洞检测文件,客户端通过文件上传入口上传预设的漏洞检测文件失败。
[0050]步骤S208:判断出通过文件上传入口向服务器上传预设的漏洞检测文件成功。
[0051]在客户端通过文件上传入口向服务器上传预设的漏洞检测文件成功的情况下,检测出待检测网页上存在上传漏洞。
[0052]步骤S210:判断出通过文件上传入口向服务器上传预设的漏洞检测文件失败。
[0053]在客户端通过文件上传入口向服务器上传预设的漏洞检测文件失败的情况下,检测出待检测网页上不存在上传漏洞。
[0054]在本发明另外一种可选的实施例中,客户端判断通过文件上传入口向服务器上传预设的漏洞检测文件是否成功可以包括:在客户端通过文件上传入口向服务器上传预设的漏洞检测文件,客户端通过文件上传入口向服务器发送请求上传该预设的漏洞检测文件的上传请求,服务器返回与该上传请求的对应的响应,在服务器返回的与上传请求对应的响应为允许上传的响应的情况下,即可确定该文件上传入口可以上传预设的漏洞检测文件,则检测出该待检测网页存在上传漏洞;在服务器返回的与上传请求对应的响应为拒绝上传的响应的情况下,即可确定该文件上传入口不可以上传预设的漏洞检测文件,则检测出该文件上传入口不为存在上传漏洞的上传入口。
[0055]通过上述实施例,在客户端与服务器通讯不佳,或者数据传输中断的情况下,服务器上不存在预设的漏洞检测文件,但是该上传的操作已经启动,实质上在网络畅通或不存在数据丢失的情况下,服务器上应该是可以检测到预设的漏洞检测文件的,而通过确定服务器是否允许客户端通过该文件上传入口上传预设的漏洞检测文件确定待检测网页存在上传漏洞,可以更加全面地检测到待检测网页上的存在上传漏洞的入口。
[0056]在本发明的上述实施例中,在执行步骤S206之后,在服务器上不存在预设的漏洞检测文件的情况下,可以在客户端上搜索服务器返回的对应上传请求的响应,如果该响应为允许客户端通过文件上传入口上传预设的漏洞检测文件的响应,则仍然确定该文件上传入口为存在上传漏洞的入口。通过该实施例,可以更加全面的检测出待检测网页上的上传漏洞,减少了对上传漏洞的漏判和误判。
[0057]在本发明的上述实施例中,步骤S102:客户端获取待检测网页中的文件上传入口可以包括:获取待检测网页的描述数据,其中,描述数据为用于描述待检测网页的网页元素的数据;在描述数据中查找上传入口数据,其中,上传入口数据用于描述文件上传入口 ;根据上传入口数据获取文件上传入口。
[0058]具体地,本发明的上述实施例可以通过如图3所示的步骤实现:
[0059]步骤S302:获取待检测网页的描述数据。
[0060]具体地,客户端通过访问待检测网页获取待检测网页的描述数据,待检测网页的描述数据可以为html数据,html为超文本标记语言,其用于描述网页内可以包含的图片、链接、音乐以及程序等网页元素。
[0061]步骤S304:在描述数据中查找上传入口数据。
[0062]其中,在描述数据中查找描述文件上传入口的数据,可能一个网页上存在多个文件上传入口,通过在描述数据中查找此类数据可以找到整个网页上的所有文件上传入口,然后执行步骤S306。
[0063]具体地,在描述数据中查找上传入口数据可以通过如下步骤实现:在描述数据中查找类型为文件的输入标签;在描述数据中查找到类型为文件的输入标签的情况下,确认查找到上传入口数据。
[0064]需要进一步说明的是,在描述数据(如html数据)中查找type (类型)为file (文件)的input (输入)标签,如果在描述数据中检测到存在类型为文件的输入标签,则确定该待检测网页上存在文件上传入口,执行步骤S306 ;若在描述数据中检测不到类型为文件的输入标签,则确定该待检测网页上不存在文件上传入口,确定该待检测网页上不存在上传漏洞。
[0065]步骤S306:根据上传入口数据获取文件上传入口。
[0066]具体地,通过该上传入口数据获取文件上传入口,然后客户端就可以通过获取到的该文件上传入口上传预设的漏洞检测文件。
[0067]具体地,可以将上传入口数据指向的网关接口作为文件上传入口,也即通过查找到的输入标签确定文件上传入口。
[0068]根据本发明的上述实施例中的检测方法,客户端通过文件上传入口向网页所在网站的服务器上传预设的漏洞检测文件可以包括:客户端根据预先配置的地址查找预设的漏洞检测文件;客户端通过文件上传入口向服务器上传所查找到的预设的漏洞检测文件。
[0069]在客户端获取到文件上传入口的同时,可以从服务器上获取文件上传的URL地址(即统一资源定位符),客户端可以将该预设的漏洞检测文件上传至对应URL地址的位置。
[0070]如图4所示,上述实施例可以通过如下步骤实现:
[0071]步骤S402:客户端获取待检测网页中的文件上传入口。步骤S402与上述的步骤S102的实现方法一致,在此不再赘述。
[0072]步骤S404:客户端根据预先配置的地址查找预设的漏洞检测文件。
[0073]步骤S406:客户端通过文件上传入口向服务器上传所查找到的预设的漏洞检测文件。
[0074]具体地,在客户端获取到文件上传入口之后,可以直接通过预先配置的地址查找预设的漏洞检测文件,然后将该查找到的预设的漏洞检测文件上传通过文件上传入口上传至服务器。
[0075]步骤S408:客户端判断通过文件上传入口向服务器上传预设的漏洞检测文件是否成功。
[0076]步骤S410:若客户端通过文件上传入口向服务器上传预设的漏洞检测文件成功,则检测出待检测网页上存在上传漏洞。
[0077]步骤S408与上述的步骤S106的实现方法一致,在此不再赘述。步骤S410与上述的步骤S108的实现方法一致,在此不再赘述
[0078]需要进一步说明的是,本发明上述实施例中的预设的漏洞检测文件可以包括不同格式的多个子文件,不同格式的子文件中携带有入侵服务器的不同类型的木马数据。
[0079]通过上述实施例,使用不同格式的木马子文件对文件上传入口进行检测,可以使用多种格式的木马对文件上传入口进行检测,得到的检测结果更加准确。
[0080]下面结合附图5详细介绍本发明实施例。
[0081]步骤S501:客户端访问页面得到描述数据。
[0082]其中,描述数据可以为html文档的数据。
[0083]本发明上述实施例中,可以使用qtwebkit库(是一个开源的浏览器引擎的数据库)在返回的html数据中解析出完整的页面,即将js (客户端脚本语言)动态生成的html也能显示出来。
[0084]步骤S502:通过搜索描述数据检测待检测网页上是否存在文件上传入口