接口:
内部模块对外部系统,其他模块服务提供一种调用或连接服务的标准。
接口总类:
1.HTTP api接口
通用web网站接口,http协议通过路径来区分调用,请求报文是key-value形式,返回是json串,常见的请求方式有get和post等等。
2.RPC类接口-测评
远程过程调用,客户端和服务器连接,比如:游戏平台登录账号密码进入到远程的服务器上面-
账号密码在接口里面传输查询判断
3.WebService类-测评
专门传递数据,soap协议和REST,通过http传输,请求和返回报文xml格式
soap和REST:
SOAP是基于 XML 的信息交换简易协议。SOAP=HTTP+XML
一条 SOAP 消息就是一个普通的 XML 文档,包含下列元素:
- 必需的 Envelope 元素,可把此 XML 文档标识为一条 SOAP 消息
- 可选的 Header 元素,包含头部信息
- 必需的 Body 元素,包含所有的调用和响应信息
- 可选的 Fault 元素,提供有关在处理此消息所发生错误的信息
必须用XML编码,不能包含DTD引用和XML处理命令。
REST专于传递资源,资源解析
SOAP 是协议,REST 是架构风格。
SOAP 是高度结构化的,使用 XML 数据格式,而 REST 更灵活,允许应用程序交换多种格式的数据。
接口
WebService API测试
探针:?wsdl 利用:SoapUl&ReadyAPI
1.接口暴露公网
2.传输数据未校验
3.传输过程数据加密
测试工具:soapUI,readyapi
可以通过接口获取数据,造成信息泄露安全问题,不校验的话有
readygpi自动化测试
创建安全测试实例
#SOAP类-Swagger&SoapUI&EXF
什么是swagger:
Swagger 是最流行的 第三方API 开发工具,它遵循 OpenAPI 规范,
用于设计、构建和文档化API
要对自己网站的接口调试正常的,但是接口很多,用swagger方便对接口调试
swagger上线平台集成了所有服务接口,方便测试者批量测试也造成可能。
2.从网络找JS文件含有加载关键字的文件利用:SoapUI&EXP
接口安全设计
请求合法性校验:
Google的CAPTCHA解决方案主要是用来区分人类用户和自动程序(如机器人)。
在完成CAPTCHA后会生成一个唯一的Token,确保后续的请求。
Cookie 验证是服务器在用户登录时生成 用户唯一标识 即 Sessionid 并以映射表的形式保存在该台服务器的内存上(一般做法,也可以保存在其他地方),接着将该 Sessionid 通过 set-cookie 头部传给客户端浏览器保存到 cookie,下次 同源请求 浏览器会自动带上 Sessionid 给服务器,服务器再去查对应的用户 id。
- User-Agent和Referer限制
数据合法性校验:数据合法性的校验主要是为了避免异常数据和注入。
\1. 不依赖客户端的数据校验,不管客户端有没有进行数据校验,服务端都要做合法性校验。
\2. 用白名单的方式验证数据合法性,也就是根据一系列已知的正确值或规则来验证请求数据,不尝试检验某些特定的错误。
数据加密:数据加密主要是指对敏感数据进行加密,避免因网络传输过程中的窃听和抓包造成敏感数据泄露,常见方法主要由:使用HTTPS协议。
对敏感数据采用秘钥进行加密和解密。
接口错误处理:接口错误处理主要是值对接口的返回结果进行编码,制定统一的错误返回编码
过载保护**:接口过载保护是指对接口访问频率设置阈值,超出阈值后不予处理,直接返回错误码,可以一定程度上防止C
“请求的API参数”+“时间戳”+“盐”进行MD5算法加密,加密后的数据就是本次请求的签名signature,服务端接收到请求后以同样的算法得到签名,并跟当前的签名进行比对,如果不一样,说明参数被更改过,直接返回错误标识