接口测试的流程和步骤(软件测试面试题目100及最佳答案)


大家好,我是老李,今天上午给大家分享了一篇关于《如何通过零信任架构实现 API 安全》的文章,主要介绍了API的安全授权问题。现在再给大家分享一个关于API接口渗透测试技巧的知识,希望能够给大家日常工作和学习带来启发。

1 API 接口介绍1.1 RPC(远程过程调用)

远程过程调用(英语:Remote Procedure Call,缩写为 RPC)是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程。如果涉及的软件采用面向对象编程,那么远程过程调用亦可称作远程调用或远程方法调用,例:Java RMI。


RPC 一般直接使用 TCP 协议进行通信,通常不涉及到 HTTP。HTTP 下面有2种技术:

XML-RPC(https://zh.**.org/wiki/XML-RPC)JSON-RPC(https://zh.**.org/wiki/JSON-RPC)

Web service 和 RESTful API 都可算作远程过程调用的子集。

1.2 Web Service

Web Service 是一种服务导向架构的技术,通过标准的Web协议提供服务,目的是保证不同平台的应用服务可以互操作。


根据 W3C 的定义,Web 服务(Web service)应当是一个软件系统,用以支持网络间不同机器的互动操作。网络服务通常是许多应用程序接口(API)所组成的,它们透过网络,例如国际互联网(Internet)的远程服务器端,执行客户所提交服务的请求。


尽管W3C的定义涵盖诸多相异且无法介分的系统,不过通常我们指有关于主从式架构(Client-server)之间根据 SOAP 协议进行传递 XML 格式消息。无论定义还是实现,Web 服务过程中会由服务器提供一个机器可读的描述(通常基于WSDL)以辨识服务器所提供的 Web 服务。另外,虽然 WSDL 不是 SOAP 服务端点的必要条件,但目前基于Java 的主流 Web 服务开发框架往往需要 WSDL 实现客户端的源代码生成。一些工业标准化组织,比如 WS-I,就在 Web 服务定义中强制包含 SOAP 和 WSDL。


Web Service 是一种比较“重”和“老”的 Web 接口技术,目前大部分应用于金融机构的历史应用和比较老的应用中。

1.3 RESTful API

REST,全称是 Resource Representational State Transfer,通俗来讲就是,资源在网络中以某种表现形式进行状态转移。分解开来:

Resource:资源,即数据(前面说过网络的核心)。比如 newsfeed,friends等;Representational:某种表现形式,比如用JSON,XML,JPEG等;State Transfer:状态变化。通过HTTP动词实现。

RESTful API 就是符合 REST 风格的 API,传递数据也是2种形式:

XML,少见json,常见,现在 Web 应用基本使用这种形式的 API。1.4 MVC、MVP、MVVM

Web 应用程序和 APP 应用程序的 API 跟目前的流行框架和模式相关,主要有3种模式:MVC、MVP、MVVM。


MVC 将整个应用分成 Model、View 和 Controller 三个部分,而这些组成部分其实也有着几乎相同的职责。

视图:管理作为位图展示到屏幕上的图形和文字输出;控制器:翻译用户的输入并依照用户的输入操作模型和视图;模型:管理应用的行为和数据,响应数据请求(经常来自视图)和更新状态的指令(经常来自控制器);API接口渗透测试技巧汇总



此类模式和架构的应用越来越多导致 API 接口的应用也越来越流行。想了解更多可以在网上查找相关资料。

2 API 测试环境和测试工具2.1 Web Service 测试2.1.1 找 Webservice 接口Google hackinginurl:jws?wsdlinurl:a**x?wsdlinurl:aspx?wsdlinurl:ascx?wsdlinurl:ashx?wsdlinurl:dll?wsdlinurl:exe?wsdlinurl:php?wsdlinurl:pl?wsdlinurl:?wsdlfiletype:jwsfiletype:a**xfiletype:ascxfiletype:aspxfiletype:ashxfiletype:dllfiletype:exefiletype:phpfiletype:plfiletype:wsdl wsdlfuzzing爬虫2.1.2 测试工具

涉及主要工具:

Soap UI PRO,渗透测试流程的发起,通信报文的解析、**payload之后通信报文的重新组装等,14天试用,可以做自动化测试。SoapUI Free,手工测试SOAPSonar,SOAP UI 的替代。Burp Suite,代理拦截,跟踪通信过程和结果,对通信进行重放和二次处理等。WSSATWS-Attacker

2.1.3 测试项目

FuzzingXSS /SQLi/ Malformed XMLFile UploadXpath InjectionXML Bomb (DoS)Authentication based attacksReplay attacksSession fixationXML Signature wrappingSession timeoutHost Cipher Support/ Valid Certificate/ Protocol SupportHashing Algorithm Support2.1.4 手工测试方法

主要使用 Soap UI Open Source,有安全测试Case,需要配置 SOAP 代理到 Burp,数据流,现在的版本是5.4.0。

API接口渗透测试技巧汇总



代理配置

API接口渗透测试技巧汇总



可以用 Burp 重放 SOAP 的探测 Payload。使用 Soap UI Open Source,测试步骤:

创建工作空间新建 SOAP 项目增加 WSDL,配置名称和 WSDL 链接选择要测试的 TestSuite,增加一个安全测试选择测试的类型,运行测试2.1.5 自动化测试

SOAP 配置,2步,“File”-“Preference”-“Proxy”,设置 Burp 代理

API接口渗透测试技巧汇总



直接在 Soup UI 主菜单上选择运行一个测试。

API接口渗透测试技巧汇总



在弹出窗口中输入 WSDL 地址。

API接口渗透测试技巧汇总



SUAP UI 会自动探测接口。然后在项目-测试Case的右键菜单中选择安全测试

API接口渗透测试技巧汇总



运行安全测试。

API接口渗透测试技巧汇总



Burp 代理会捕获所有的测试请求

API接口渗透测试技巧汇总



其他工具介绍:WSSAT,选择加载存在 WSDL 列表的文件,运行。

API接口渗透测试技巧汇总



WS-Attacker

API接口渗透测试技巧汇总



AWVS 的扫描也能直接测试 Web Service

2.2 RESTful API 测试2.2.1 测试工具常见的浏览器插件Chrome Restlet ClientAPI接口渗透测试技巧汇总



– Firefox RESTClient

API接口渗透测试技巧汇总


客户端工具PostmanAPI接口渗透测试技巧汇总



– Swagger


通常使用 Postman 的情况多些,有机会的话问下开发如何配置测试环境,直接配置一套一样的。


Postman 的代理配置:

API接口渗透测试技巧汇总


3 常见 API 相关漏洞和测试方法

还是主要以 Restful API 说明。

3.1 逻辑越权类

本质上可以说是不安全的直接对象引用,可以通过修改可猜测的参数获取不同参数下的响应结果。参数可以是用户名、用户 ID,连续的数字,变形的连续数字(各种编码或哈希),通过直接修改参数值完成越权的操作。


示例:

输入控制类

XXE,Restful API 的注入漏洞,XSS,溢出,特殊字符的处理。


示例:

接口滥用

没有请求频率限制导致的各种爆破和遍历,如短信验证码爆破、登录爆破、手机号遍历、xx遍历等。


示例:

信息泄露

包括越权导致的信息泄露、畸形请求导致的报错响应。


示例:

HTTP 响应头控制

关于响应头:

发送 X-Content-Type-Options: nosniff 头。发送 X-Frame-Options: deny 头。发送 Content-Security-Policy: default-src 'none' 头。删除指纹头 – X-Powered-By, Server, X-AspNet-Version 等等。在响应中强制使用 content-type。3.6 服务端配置漏洞

如服务端版本信息泄露,或服务端程序本身存在漏洞等。

4 API 安全加固

根据上面讲的测试方法,一般需要做好:

认证和授权控制用户输入控制接口请求频率的限制输出控制添加安全响应头参数

参考 API-Security-Checklist 和历史上的渗透测试结果设计适合自己组织的 API 安全开发规范。


参考


Web Service 的渗透测试参考:
















Restful API 的参考:






来源:先知社区

相关推荐

  • erp系统操作流程图(仓库erp一般要学多久才会)

    有一朋友,原先在企业里做制造经理,积累了很多年的制造经验与人脉,想着自己出来整一个加工厂,主要业务就是来料加工;特意打电话给我,咨询用友的U8ERP业务流程应该怎样搭建?朋友在原企业用U8产品用习惯了,不想换其他软件,所以特意帮他梳理了一下这个流程,并分享给大家一起学习。 一、总体业务流程图 二、基础资料处理 1、建立客户产品BOM清单 A为代工件,存货属性…

    2023-05-25 投稿
  • 淘宝店铺代码怎么看(淘宝店铺首页代码装修)

    启中教育:开淘宝店铺首页装修怎么做? 2021-09-30 16:04·启中职业培训学校   随着现在网购电商的竞争日益激烈,生意也是越来越不好做了,如何才能让自己的店铺更加拥有吸引力,吸引更多的消费者青睐呢,这时候视觉效果就是很重要的一环了,好看的有设计感的东西永远是最吸引人的,此时老板们一定要把店铺整体的设计把控好,这样不怕没人看。关于店铺的视…

    2021-11-09
  • skg榨汁机怎么样(skg榨汁机怎么用视频教程)

    现在越来越多的人开始注重养生,除了丰富多样的饮食之外还要讲究科学高效的方法,传统的榨汁机产品在果蔬榨汁时往往出额外浪费不少渣料,此外在功能上也乏善可陈过于单一。此前SKG推出了全新品类SKG养生破壁,其通过高效粉碎食材,充分保留营养之外,还具备一机多功能,可榨汁、可做豆浆、可做沙冰、可熬粥和汤。 首先产品定位上来看,SKG破壁机有别于传统的榨汁机和豆浆机,其…

    2023-08-25 投稿
  • QQ怎么发大表情(QQ怎么发大表情菜狗)

    近期,iOS版QQ更新到了8.0.8 本次QQ更新到底更新了啥? 让我们一起来看看! 想不到,黑马做梦都想不到! 这个超级好用的功能会优先出现在QQ上! 为什么黑马会这么说呢? 像平时黑马这种消息超多的人群, 很有可能把其中的一条消息当做成群消息忽略了。 如果挨个下滑的话, 几百条消息可能活活憋死你。 因为你不点开, 永远不知道那条消息对你重不重要。 所以,…

    2023-05-24 投稿
  • 探探十大公会排名(探探实力排行公会)

    今年上半年,新兴直播平台接连冒出,探探是最受业内关注的一个。从探探内测直播功能、招募公会至今,已经快过去4个月的时间了。首批进场掘金的公会和主播们,也已陆续拿到了运营成绩单。“有刷量、但并不大”“目前赚点小钱可以,很考验公会的运营能力”“我还是比较看好的,毕竟官方有实力”……在行业的飞速迭代中,公会依附平台生存,就像候鸟来来**,从旧…

    2021-12-17 投稿
  • 微信怎么充值支付宝(用微信充支付宝不用银行卡)

    分享生活小妙招,享受科技新生活!大家好,欢迎来到今天的知识分享!我是你们的好朋友小俊! 我们现在在买东西付款的时候,基本上都是使用微信支付,但是出于安全考虑很多朋友没有绑定银行卡,又不想绑定银行卡,那么在买东西时候就没办法付款了!这就给大家造成了很多不便,其实在微信中我们无需绑定银行卡也是可以进行付款的,这一期我就将这个功能详细地介绍给大家!   …

    2021-11-19 投稿
本站部分内容由互联网用户自发贡献,该文观点仅代表作者本人,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如发现本站有涉嫌抄袭侵权/违法违规等内容,请联系我们举报!一经查实,本站将立刻删除。