Api接口安全测试方法大全-Wsdl&Swagger&Webpack(附一键化扫描工具)
2023-4-17 21:20:12 Author: Z2O安全攻防(查看原文) 阅读量:186 收藏

免责声明

本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。

只供对已授权的目标使用测试,对未授权目标的测试作者不承担责任,均由使用本人自行承担。

文章正文

0x00 api接口介绍

通常在网站的通讯中,很多会调用api接口去方便更多信息的管理与调用,但是当使用某些api时,在开发人员未对api接口做出访问策略限制或其他的加固,会导致其他的用户发现api的时候可能会从中获取到敏感信息泄露,或者其他的sql注入等等安全问题,本文介绍三种api的利用与发现

0x01 WebService类-Wsdl接口测试

在WebService的开发,特别是和第三方有接口的时候,走的是SOAP协议,然后会有WSDL文件(或网址),这时候可以对wsdl文件进行相关的测似,敏感信息等等。

wsdl指纹探测:“?wsdl”


该api接口的安全问题有以下类型:

Web 应用安全漏洞:
   sql注入
   xss攻击
   命令执行
   越权
   LDAP注入
   缓冲区溢出
   逻辑漏洞
   等等
   
XML 相关的特殊安全漏洞:
   XPath注入
   XQuery注入
   拒绝服务攻击(SOAP 数组溢出、递归的 XML 实体声明、超大消息体)
   信息泄漏(XML External Entity File Disclosure)
   等等

在api的接口里面也可以看到一些信息调用的查询,这里就会参数敏感信息泄露的问题,这个通常可以工具结合是手工去测试发现

对于这些地方都可以进行注入,查询信息等的测试,
工具测试:SoapUI Pro+burp
指纹:“?wsdl” && “edu” && country=“CN”

一篇不错的文章可以学习一下:
https://cloud.tencent.com/developer/article/1666998

0x02 SOAP类-Swagger接口测试

Swagger 的目标是对 REST API 定义一个标准且和语言无关的接口,可以让人和计算机拥有无须访问源码、文档或网络流量监测就可以发现和理解服务的能力。当通过 Swagger 进行正确定义,用户可以理解远程服务并使用最少实现逻辑与远程服务进行交互。与为底层编程所实现的接口类似,Swagger 消除了调用服务时可能会有的猜测。
在对目标信息收集可以验证一下是否存在Swagger接口,以下是特征的目录指纹:

/swagger/
/api/swagger/
/swagger/ui/
/api/swagger/ui/
/swagger-ui.html
/api/swagger-ui.html
/user/swagger-ui.html
/swagger/ui/
/api/swagger/ui/
/libs/swaggerui/
/api/swaggerui/
/swagger-resources/configuration/ui/
/swagger-resources/configuration/security/
Swagger接口漏洞测试类型
接口越权
接口SQL注入(针对所有查询接口)
接口未授权访问(重点针对管理员模块,如对用户的增删改查)
任意文件上传(针对上传接口进行测试)
测试信息泄露(重点针对用户、订单等信息查询接口,以及一些测试数据等)

可能存在文件上传的swagger接口


有存在数据查询的地方也可以测试注入等工具测试:
https://github.com/lijiejie/swagger-exp
https://github.com/jayus0821/swagger-hack


测试完后可以查看测试结果返回200,是否存在敏感信息

在这里插入图片描述

0x03 HTTP类-Webpack测试

webpack是一个前端的模块化打包(构建)的工具
webpack将一切繁杂的、重复的、机械的工作自动处理,开发者只需要关注于功能的实现的
指纹:使用wapplyzer帮助识别


js指纹:

在这里插入图片描述


Webpack漏洞的检测,
工具支持自动模糊提取对应目标站点的API以及API对应的参数内容,并支持对:未授权访问、敏感信息泄露、CORS、SQL注入、水平越权、弱口令、任意文件上传七大漏洞进行模糊高效的快速检测。在扫描结束之后,本工具还支持自动生成扫描报告,您可以选择便于分析的HTML版本以及较为正规的doc、pdf、txt版本。

Packer-Fuzzer:https://github.com/rtcatc/Packer-Fuzzer

python3 PackerFuzzer.py -t adv -u http://chargepoint.com   

本文转自https://blog.csdn.net/qq_53577336/article/details/124524175

技术交流

知识星球

致力于红蓝对抗,实战攻防,星球不定时更新内外网攻防渗透技巧,以及最新学习研究成果等。常态化更新最新安全动态。专题更新奇技淫巧小Tips及实战案例。

涉及方向包括Web渗透、免杀绕过、内网攻防、代码审计、应急响应、云安全。星球中已发布 200+ 安全资源,针对网络安全成员的普遍水平,并为星友提供了教程、工具、POC&EXP以及各种学习笔记等等。

交流群

关注公众号回复“加群”,添加Z2OBot 小K自动拉你加入Z2O安全攻防交流群分享更多好东西。

关注我们

关注福利:

回复“app" 获取  app渗透和app抓包教程

回复“渗透字典" 获取 针对一些字典重新划分处理,收集了几个密码管理字典生成器用来扩展更多字典的仓库。

回复“书籍" 获取 网络安全相关经典书籍电子版pdf

回复“资料" 获取 网络安全、渗透测试相关资料文档

往期文章

我是如何摸鱼到红队的

命令执行漏洞[无]回显[不]出网利用技巧

MSSQL提权全总结

Powershell 免杀过 defender 火绒,附自动化工具

一篇文章带你学会容器逃逸

域渗透 | kerberos认证及过程中产生的攻击

通过DCERPC和ntlmssp获取Windows远程主机信息


文章来源: http://mp.weixin.qq.com/s?__biz=Mzg2ODYxMzY3OQ==&mid=2247493948&idx=1&sn=ebc38fbea86699daf2b5986da6de92af&chksm=ceab027cf9dc8b6ab78b3a0e5951ead01bb236fe23aa01c778ff53f620173e3dbdef9de33442#rd
如有侵权请联系:admin#unsafe.sh