Web Service 和 Web API***测试指南(一)
李白 嘶吼专业版
嗨,各位读者,今天我们将了解Web服务和API***测试部分中的另一个有趣的部分,它围绕Web服务的安全性评估展开。
首先让我们来看看Web服务由哪些组成:
Web服务是由标准化的XML消息传递系统组成的软件。Web服务的好处在于它的所有通信都是XML格式,它们不限于任何操作系统或编程语言,它们构建于Web服务之上,都建立在开放标准之上,如TCP / IP,HTTP,Java, HTML和XML。
Web服务剖析
简单地说,任何基本的Web服务平台都是XML和HTTP的组合。
它们可以是:
SOAP(简单对象访问协议)
UDDI(通用描述,发现和集成)
WSDL(Web服务描述语言)
Web服务如何工作?
Web服务依赖于
XML来标记数据(作为标记和系统
SOAP传输消息
WSDL来描述服务的可用性。
我们来看看基于SOAP的Web服务剖析:
SOAP服务结构
Web服务布局
Web服务***测试:
要开始***测试Web服务,我们总是需要以下初步知识:
1)示例API文件(WSDL / SOAP等)
2)示例请求/响应(了解值和数据传递)
3)入口点/ URL
用于执行Web服务***测试的工具:
Fiddler
Burp Suite
Acunetix / IBM安全AppScan
ZAP代理
Curl
SOAP UI
接下来,我会简要介绍Web服务安全测试的各种测试用例,工具和方法。
黑盒Web服务***测试先决条件:
-> Web服务描述语言(WSDL)文件
灰盒Web服务***测试先决条件:
-> WSDL文件的方法示例请求/响应。
Web服务的***测试阶段: 1.信息收集 2.黑盒 3.Google hacking(使用dorks发现网络托管网站的 Web服务) 4.UDDI 5.Web服务发现(如果没有提供WSDL的话) 6.身份验证类型发现
测试方法: ->自动测试工具 ?SoapUI Pro ?OWASP ZAP ?IBM AppScan ?HP Webinspect ?WSBang ?WSMap
->手动测试工具 ?Soap UI Free ?Burp Suite Pro ?Postman(和 Burp配合使用)
->扩展: ?SAML编辑器 ?SAML编码器/解码器 ?WSDL向导 ?Wsdler ?SOA客户端
在Web服务中查找测试用例: ?Fuzzing ?XSS / SQLi /格式错误的XML ?文件上传 ?Xpath注入 ?XML炸弹(DoS) ?基于身份验证的*** ?重放*** ?会话固定 ?XML签名封装 ?会话超时 ?主机密码支持/有效证书/协议支持 ?散列算法支持
现在我们来看看如何使用SOAP UI执行自动扫描并获得Web服务的初步安全报告。
使用SOAP UI Pro进行安全评估: 1.启动SOAP UI并创建功能测试用例
2.添加安全测试
3.选择“自动”模式为TestCase中的TestSteps生成默认安全扫描和断言,然后点击“Next”:
4.按OK以使用所描述的配置创建安全测试并打开安全测试窗口:
5.现在运行安全测试
6.发布安全扫描后,你可以深入了解输出或生成报告以供你评估。
搭建易受***的Web服务的虚拟机环境:
?OWASP Mutillidae
?PenTester实验室:Axis2 Web服务和Tomcat管理器 ?DVWS ?OWASP WebGoat
本系列的后续部分将重点讨论如何使用burp suite+ PostMan以及SOAP UI手动测试Web服务。
参考资料和来源:
https://HdhCmsTestowasp.org/index.php/REST_Assessment_Cheat_Sheet
https://HdhCmsTestsoapui.org/security-testing/getting-started.html
查看更多关于Web Service 和 Web API***测试指南(一)的详细内容...