一种Web API的安全测试方法、装置、电子设备及存储介质制造方法及图纸

技术编号:21953181 阅读:20 留言:0更新日期:2019-08-24 17:59
本发明专利技术实施例公开了一种网页接口Web API的安全测试方法、装置、电子设备及存储介质。所述方法包括:按照全部待测Web API对应的访问日志的存储路径,在Web服务器中获取各个待测Web API对应的访问日志;按照全部待测Web API对应的接口信息的日志格式,在各个待测Web API对应的访问日志中提取出各个待测Web API对应的接口信息;根据各个待测Web API对应的接口信息,对各个待测Web API进行黑盒安全测试。在本发明专利技术的实施例中,不仅可以提高Web API的测试效率,而且还可以节省人工成本和时间成本。

A Web API Security Testing Method, Device, Electronic Equipment and Storage Media

【技术实现步骤摘要】
一种WebAPI的安全测试方法、装置、电子设备及存储介质
本专利技术实施例涉及互联网
,尤其涉及一种WebAPI的安全测试方法、装置、电子设备及存储介质。
技术介绍
网页接口WebAPI的黑盒安全测试是借助于黑盒测试技术,针对WebAPI的应用场景,模拟攻击者对WebAPI进行渗透攻击测试来验证接口安全性的一种手段。在进行WebAPI黑盒安全测试的过程中,测试工程师并不需要了解被测试系统的内部结构,而主要通过分析WebAPI定义、参数、参数值以及模拟接口调用的业务应用场景来进行安全测试用例的设计与执行,根据安全测试用例的执行结果分析来检验WebAPI的安全性,从而达到对被测试系统进行安全测试的目的。测试工程师在模拟攻击者对一个域名以及域名下的WebAPI进行测试的时候,通常需要通过抓包、数据包分析等技术手段获取到这个域名的相关信息,以及各个WebAPI的相关信息,然后才能对这些WebAPI进行安全测试。但是,通过抓包分析来获取不同应用的全部WebAPI的相关信息的技术难度很大,成本也很高。例如,让每一位工程师提供每个域名的每个WebAPI的相关信息,成本是巨大的,并且难以保障不会遗漏。由此可见,采用这些常规的获取WebAPI的方式进行安全测试的方法导致的成本太高,风险巨大。因此,需要通过一定的方式来尽可能地克服或避免这一问题,以提高WebAPI安全测试的全覆盖及安全测试效率,且降低安全测试成本,但是在现有技术中还没有一种有效且高效的解决方式。
技术实现思路
有鉴于此,本专利技术实施例提供一种WebAPI的安全测试方法、装置、电子设备及存储介质,不仅可以提高WebAPI的测试效率,而且还可以节省人工成本和时间成本。第一方面,本专利技术实施例提供了一种WebAPI的安全测试方法,所述方法包括:按照全部待测WebAPI对应的访问日志的存储路径,在Web服务器中获取各个待测WebAPI对应的访问日志;按照全部待测WebAPI对应的接口信息的日志格式,在各个待测WebAPI对应的访问日志中提取出各个待测WebAPI对应的接口信息;根据各个待测WebAPI对应的接口信息,对各个待测WebAPI进行黑盒安全测试。在上述实施例中,在所述按照全部待测WebAPI对应的访问日志的存储路径,在Web服务器中获取各个待测WebAPI对应的访问日志之前,所述方法还包括:在所述Web服务器中获取所述存储路径和所述日志格式;其中,所述Web服务器包括:Ngnix服务器或者Apache服务器;若检测所述存储路径和所述日志格式正确,则执行所述按照全部待测WebAPI对应的访问日志的存储路径,在Web服务器中获取各个待测WebAPI对应的访问日志的操作。在上述实施例中,所述按照全部待测WebAPI对应的接口信息的日志格式,在各个待测WebAPI对应的访问日志中提取出各个待测WebAPI对应的接口信息,包括:根据全部待测WebAPI对应的接口信息的日志格式,确定出各个WebAPI对应的接口信息在所述访问日志中的偏移位置;根据各个WebAPI对应的接口信息在所述访问日志中的偏移位置,在所述访问日志中提取出各个待测WebAPI对应的接口信息。在上述实施例中,所述访问日志中存储的各个待测WebAPI对应的接口信息至少包括以下其中之一:客户端地址remote_addr、客户端用户名称remote_user、访问时间与时区time_local、服务器地址host、服务器端口server_port、请求request、状态status、发送给客户端文件内容大小body_bytes_sent、请求正文内容request_body、统一资源定位符URL跳转来源http_referer、客户端浏览器信息http_user_agent、扩展头http_x_forwarded_for、请求时间request_time;其中,remote_addr用于记录客户端的统一的IP地址;remote_user用于记录客户端的用户名称;time_local:用于记录访问访问时间与时区;host用于记录网页服务器的IP地址;server_port用于记录网页服务器的端口号;request用于记录请求URL与HTTP协议;status用于记录请求状态;body_bytes_sent用于记录发送客户端的文件主体内容大小;request_body用于记录客户端发送请求的正文内容;http_referer用于记录各个URL的跳转来源;http_user_agent用于记录客户端使用的浏览器对应的信息;http_x_forwarded_for用于记录客户端在局域网中的IP地址;request_time用于记录整个请求的总时间。在上述实施例中,所述根据各个待测WebAPI对应的接口信息,对各个待测WebAPI进行黑盒安全测试,包括:根据各个待测WebAPI对应的各个接口信息,生成各个待测WebAPI对应的待测任务;通过各个待测WebAPI对应的待测任务,对各个待测WebAPI进行黑盒安全测试;其中,所述黑盒安全测试是通过使用预先设计好的多种安全测试用例填充各个待测WebAPI的参数值来向所述Web服务器发送攻击测试请求;根据所述Web服务器返回的攻击测试响应信息来确定各个待测WebAPI是否存在安全漏洞。第二方面,本专利技术实施例提供了一种WebAPI的安全测试装置,所述装置包括:获取模块、提取模块和测试模块;其中,所述获取模块,用于按照全部待测WebAPI对应的访问日志的存储路径,在Web服务器中获取各个待测WebAPI对应的访问日志;所述提取模块,用于按照全部待测WebAPI对应的接口信息的日志格式,在各个待测WebAPI对应的访问日志中提取出各个待测WebAPI对应的接口信息;所述测试模块,用于根据各个待测WebAPI对应的各个接口信息,对各个待测WebAPI进行黑盒安全测试。在上述实施例中,所述获取模块,具体用于在所述Web服务器中获取所述存储路径和所述日志格式;其中,所述Web服务器包括:Ngnix服务器或者Apache服务器;若检测所述存储路径和所述日志格式正确,则执行所述按照全部待测WebAPI对应的访问日志的存储路径,在Web服务器中获取各个待测WebAPI对应的访问日志的操作。在上述实施例中,所述提取模块包括:确定子模块和提取子模块;其中,所述确定子模块,用于根据全部待测WebAPI对应的接口信息的日志格式,确定出各个WebAPI对应的接口信息在所述访问日志中的偏移位置;所述提取子模块,用于根据各个WebAPI对应的接口信息在所述访问日志中的偏移位置,在所述访问日志中提取出各个待测WebAPI对应的接口信息。在上述实施例中,所述访问日志中存储的各个待测WebAPI对应的接口信息至少包括以下其中之一:客户端地址remote_addr、客户端用户名称remote_user、访问时间与时区time_local、服务器地址host、服务器端口server_port、请求request、状态status、发送给客户端文件内容大小body_bytes_sent、请求正文内容request_body、统一资源定位符URL跳转来源http_referer、客户端浏览器信息http_u本文档来自技高网...

【技术保护点】
1.一种网页接口Web API的安全测试方法,其特征在于,所述方法包括:按照全部待测Web API对应的访问日志的存储路径,在Web服务器中获取各个待测Web API对应的访问日志;按照全部待测Web API对应的接口信息的日志格式,在各个待测Web API对应的访问日志中提取出各个待测Web API对应的接口信息;根据各个待测Web API对应的接口信息,对各个待测Web API进行黑盒安全测试。

【技术特征摘要】
1.一种网页接口WebAPI的安全测试方法,其特征在于,所述方法包括:按照全部待测WebAPI对应的访问日志的存储路径,在Web服务器中获取各个待测WebAPI对应的访问日志;按照全部待测WebAPI对应的接口信息的日志格式,在各个待测WebAPI对应的访问日志中提取出各个待测WebAPI对应的接口信息;根据各个待测WebAPI对应的接口信息,对各个待测WebAPI进行黑盒安全测试。2.根据权利要求1所述的方法,其特征在于,在所述按照全部待测WebAPI对应的访问日志的存储路径,在Web服务器中获取各个待测WebAPI对应的访问日志之前,所述方法还包括:在所述Web服务器中获取所述存储路径和所述日志格式;其中,所述Web服务器包括:Ngnix服务器或者Apache服务器;若检测所述存储路径和所述日志格式正确,则执行所述按照全部待测WebAPI对应的访问日志的存储路径,在Web服务器中获取各个待测WebAPI对应的访问日志的操作。3.根据权利要求1所述的方法,其特征在于,所述按照全部待测WebAPI对应的接口信息的日志格式,在各个待测WebAPI对应的访问日志中提取出各个待测WebAPI对应的接口信息,包括:根据全部待测WebAPI对应的接口信息的日志格式,确定出各个WebAPI对应的接口信息在所述访问日志中的偏移位置;根据各个WebAPI对应的接口信息在所述访问日志中的偏移位置,在所述访问日志中提取出各个待测WebAPI对应的接口信息。4.根据权利要求3所述的方法,其特征在于,所述访问日志中存储的各个待测WebAPI对应的接口信息至少包括以下其中之一:客户端地址remote_addr、客户端用户名称remote_user、访问时间与时区time_local、服务器地址host、服务器端口server_port、请求request、状态status、发送给客户端文件内容大小body_bytes_sent、请求正文内容request_body、统一资源定位符URL跳转来源http_referer、客户端浏览器信息http_user_agent、扩展头http_x_forwarded_for、请求时间request_time;其中,remote_addr用于记录客户端的统一的IP地址;remote_user用于记录客户端的用户名称;time_local:用于记录访问访问时间与时区;host用于记录网页服务器的IP地址;server_port用于记录网页服务器的端口号;request用于记录请求URL与HTTP协议;status用于记录请求状态;body_bytes_sent用于记录发送客户端的文件主体内容大小;request_body用于记录客户端发送请求的正文内容;http_referer用于记录各个URL的跳转来源;http_user_agent用于记录客户端使用的浏览器对应的信息;http_x_forwarded_for用于记录客户端在局域网中的IP地址;request_time用于记录整个请求的总时间。5.根据权利要求1所述的方法,其特征在于,所述根据各个待测WebAPI对应的接口信息,对各个待测WebAPI进行黑盒安全测试,包括:根据各个待测WebAPI对应的各个接口信息,生成各个待测WebAPI对应的待测任务;通过各个待测WebAPI对应的待测任务,对各个待测WebAPI进行黑盒安全测试;其中,所述黑盒安全测试是通过使用预先设计好的多种安全测试用例填充各个待测WebAPI的参数值来向所述Web服务器发送攻击测试请求;根据所述Web服务器返回的攻击测试响应信息来确定各个待测WebAPI是否存在安全漏洞。6.一种网页接口WebAPI的安全测试装置,其特征在于,所述装置包括:获取模块、提取模块和测试模块;其中,所述获取模块,用于按照全部待测WebA...

【专利技术属性】
技术研发人员:彭义海
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1