安全测试 - Web 服务

在现代基于 Web 的应用程序中,Web 服务的使用是不可避免的,而且它们也容易受到攻击。由于 Web 服务请求从多个网站获取,开发人员必须采取一些额外措施,以避免黑客的任何形式的渗透。

动手操作

步骤 1 − 导航到 Webgoat 的 Web 服务区域并转到 WSDL 扫描。我们现在需要获取其他帐号的信用卡详细信息。场景快照如下所述。

web_services

步骤 2 −如果我们选择名字,则通过 SOAP 请求 xml 进行"getFirstName"函数调用。

web_services1

步骤 3 − 通过打开 WSDL,我们可以看到有一种方法来检索信用卡信息以及"getCreditCard"。现在让我们使用 Burp 套件篡改输入,如下所示 −

web_services2

步骤 4 −现在让我们使用 Burp Suite 修改输入,如下所示 −

web_services3

步骤 5 − 我们可以获取其他用户的信用卡信息。

web_services4

预防机制

  • 由于 SOAP 消息基于 XML,因此所有传递的凭据都必须转换为文本格式。因此,在传递敏感信息时必须非常小心,这些信息必须始终加密。

  • 通过实施校验和等机制来保护消息完整性,以确保数据包的完整性。

  • 保护消息机密性 - 采用非对称加密来保护对称会话密钥,在许多实现中,对称会话密钥仅对一次通信有效,随后将被丢弃。