导语:今天我们将了解Web服务和API渗透测试部分中的另一个有趣的部分,它围绕Web服务的安全性评估展开。

嗨,各位读者,今天我们将了解Web服务和API渗透测试部分中的另一个有趣的部分,它围绕Web服务的安全性评估展开。

首先让我们来看看Web服务由哪些组成:

Web服务是由标准化的XML消息传递系统组成的软件。Web服务的好处在于它的所有通信都是XML格式,它们不限于任何操作系统或编程语言,它们构建于Web服务之上,都建立在开放标准之上,如TCP / IP,HTTP,Java, HTML和XML。

Web服务剖析

简单地说,任何基本的Web服务平台都是XML和HTTP的组合。

它们可以是:

Web服务如何工作?

Web服务依赖于

我们来看看基于SOAP的Web服务剖析:

ws2.png

SOAP服务结构

 

ws1.png

Web服务布局

Web服务渗透测试:

要开始渗透测试Web服务,我们总是需要以下初步知识:

1)示例API文件(WSDL / SOAP等)

2)示例请求/响应(了解值和数据传递)

3)入口点/ URL

用于执行Web服务渗透测试的工具:

接下来,我会简要介绍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并创建功能测试用例

1.jpg

创建测试用例

2.添加安全测试

2.jpg

增加安全测试

3.选择“自动”模式为TestCase中的TestSteps生成默认安全扫描和断言,然后点击“Next”:

3.jpg

生成安全扫描

4.按OK以使用所描述的配置创建安全测试并打开安全测试窗口:

5.jpg

执行安全测试

5.现在运行安全测试

4.jpg

运行安全测试

6.发布安全扫描后,你可以深入了解输出或生成报告以供你评估。

搭建易受攻击的Web服务的虚拟机环境:

•OWASP 
Mutillidae

•PenTester实验室:Axis2 Web服务和Tomcat管理器
•DVWS 
•OWASP WebGoat

本系列的后续部分将重点讨论如何使用burp suite+ PostMan以及SOAP UI手动测试Web服务。

参考资料和来源
https://www.owasp.org/index.php/REST_Assessment_Cheat_Sheet
https://www.soapui.org/security-testing/getting-started.html

源链接

Hacking more

...