知识点API攻防-类型利用-WebSocket抓包和通讯利用API接口类型1、RESTful API(Representational State Transfer)RESTful API是一种基于HTTP协议的API设计风格它使用HTTP方法(例如GET、POST、PUT、DELETE、PATCH)来对资源进行操作并通过URL来唯一标识资源2、SOAP API(Simple Object Access Protocol)SOAP API是一种基于XML的通信协议它使用SOAP消息格式进行数据交换SOAP API通常使用WSDL(Web Services Description Language)描述接口支持复杂的数据类型和协议扩展3、GraphQL API(Graph Query Language)GraphQL API是一种用于数据查询和操作的API查询语言它允许客户端定义需要返回的数据结构从而减少不必要的数据传输和多次请求4、gRPC APIgRPC是一种高性能、开源的远程过程调用(RPC)框架它支持多种编程语言并使用Protocol Buffers进行数据序列化和通信5、WebSocket APIWebSocket API提供了一种全双工通信的机制使得服务器和客户端可以实时地进行双向数据传输适用于实时通信和推送场景6、JSON-RPC APIJSON-RPC是一种轻量级的远程过程调用(RPC)协议基于JSON格式进行数据交换支持各种编程语言和平台7、OAuth APIOAuth是一种开放标准的授权协议用于用户授权第三方应用程序访问受保护的资源OAuth API提供了一组用于身份验证和授权的接口8、OpenAPI/Swagger APIOpenAPI(以前称为Swagger)是一种用于设计、构建和文档化API的规范和工具集。OpenAPI/Swagger API提供了一种描述API接口和操作的标准方式现在网站常用的就是这几种API接口RESTful、SOAP、GraphQL、OAuth、OpenAPI/Swagger。API检测流程接口发现遵循分类依赖语言V1/V2多版本等接口发现JS等中提取枚举爆破响应提示等Method请求方法攻击方式OPTIONS,PUT,MOVE,DELETE,PATCH文章参考https://blog.csdn.net/weixin_42672802/article/details/136884270效果上传恶意文件修改页面等URL唯一资源定位符攻击方式猜测遍历跳转效果未授权访问等Params请求参数攻击方式构造参数修改参数遍历重发效果爆破越权未授权访问突破业务逻辑等Authorization认证方式攻击方式身份伪造身份篡改效果越权未授权访问等Headers请求消息头攻击方式拦截数据包改Hosts改Referer改Content-Type等效果绕过身份认证绕过Referer验证绕过类型验证DDOS等Body消息体攻击方式SQL注入XML注入反序列化等效果提权突破业务逻辑未授权访问等演示案例-API攻防-类型利用-WebSocket抓包和通讯利用WebSocket是一种网络通信协议用于在客户端如浏览器和服务器之间建立全双工、持久性的连接。与传统的HTTP协议不同WebSocket允许服务器主动推送数据给客户端而不需要客户端反复发起请求。一、WebSocket应用场景1、网页聊天与社交应用 微信网页版、Slack、Discord2、在线游戏与虚拟竞技 网页版《Agar.io》、多人如MMORPG3、金融与交易平台 Robinhood、币安交易所4、协同编辑与远程办公 Google Docs、腾讯文档二、URL格式ws://类似与http使用明文传输 默认端口为80ws://host[:port]path[?query]wss://类似于https使用TLS加密传输,默认端口为443wss://host[:port]path[?query]三、WebSocket抓包四、实验室操纵WebSocket消息以利用XSS漏洞五、实验室操纵WebSocket握手来利用XSS漏洞六、靶场-DVWS靶场地址https://github.com/interference-security/DVWS环境搭建aptinstallgitaptinstalldockeraptinstalldocker-composedockerpull tssoffsec/dvwsdockerrun-d-p80:80-p8080:8080 tssoffsec/dvws 修改HOSTS指向 xx.xx.xx.xx dvws.local1、爆破2、RCE3、文件包含七、除去常规漏洞外较容易出现。1、CSWSH跨站点网站劫持最为广泛的漏洞类似于CSRF漏洞在没有验证请求源的情况下任意来源均可以连接WebSocket服务器进行数据交互攻击者通过构造恶意页面诱使用户访问借助用户的身份信息与服务器建立连接从而劫持用户身份下的WebSocket连接。如果把这个html页面放到互联网上让别人访问点击。2、XSS跨站3、业务验证4、DOS攻击