通常在网站的通讯中,很多会调用api接口去方便更多信息的管理与调用,但是当使用某些api时,在开发人员未对api接口做出访问策略限制或其他的加固,会导致其他的用户发现api的时候可能会从中获取到敏感信息泄露,或者其他的sql注入等等安全问题,本文介绍三种api的利用与发现
在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
审核编辑:汤梓红
-
测试
+关注
关注
8文章
5269浏览量
126596 -
接口
+关注
关注
33文章
8574浏览量
151011 -
API
+关注
关注
2文章
1499浏览量
61954 -
通讯
+关注
关注
9文章
902浏览量
34888 -
SQL
+关注
关注
1文章
762浏览量
44114
原文标题:Api接口安全测试方法大全(附一键化扫描工具)
文章出处:【微信号:菜鸟学安全,微信公众号:菜鸟学安全】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论