全面总结的Web Service渗透测试手册

0x00 前言

图片[1]-全面总结的Web Service渗透测试手册-山海云端论坛

补充Web Service及SOAP类型的资料。

0x01 Web Service基础

Web Service简介

Web Service是一个平台独立、低耦合、自包含的、基于可编程Web的应用程序,使用开放的XML标准进行描述、发布、发现、协调和配置。其目的是实现分布式交互操作的应用程序。

Web Service技术

Web Service能使不同机器上的不同应用在无需专门第三方软件或硬件的情况下,相互交换数据或集成。它自描述、自包含,可通过网络调用其他网站资源,基于产业标准如XML、HTTP。

Web Service基本原理

通过HTTP协议发送请求和接收结果,使用SOAP协议规定的XML格式封装数据,实施服务端通过WSDL文件说明可调用服务。交互过程是遵循SOAP协议通过XML封装数据,再通过HTTP协议传输。

Web Service分类

一般分为SOAP型和REST型:

  • SOAP型:使用XML格式与服务器通信;
  • REST型:使用JSON格式(或XML格式)与服务器通信,支持GET、POST、PUT、DELETE方法,无需WSDL、UDDI。

Web Service三要素

包括SOAP(Simple Object Access Protocol)、WSDL(Web Services Description Language)、UDDI(Universal Description Discovery and Integration)。

0x02 编写Web Service程序

Java版

编写接口类ICalculator,使用@WebService修饰接口。实现类CalculatorImpl中通过@WebService指定端点接口和服务名。服务端通过Endpoint.publish()发布Web Service服务。

PHP版

参考:GitHub – snoopysecurity/dvws: Damn Vulnerable Web Services is an insecure web application with multiple vulnerable web service components that can be used to learn real world web service vulnerabilities. NOTE: This project is out of date, please use https://github.com/snoopysecurity/dvws-node

NodeJS版

参考:GitHub – snoopysecurity/dvws-node: Damn Vulnerable Web Services is a vulnerable application with a web service and an API that can be used to learn about webservices/API related vulnerabilities.

.Net版

参考:浅析接口安全之WebService – 先知社区 (aliyun.com)

0x03 搜索Web Service服务

Google Hack

使用Google Hack技巧搜索Web Service服务,如:

  • filetype:asmx inurl:(_vti_bin | api | webservice | ws)
  • allinurl:dll?wsdl filetype:dll

通过代理流量筛选

利用代理工具(如BurpSuite)的过滤规则,如.dll?wsdl.ashx?wsdl.exe?wsdl等。

Fuzzing

使用工具进行Fuzzing,探测Web Service服务的漏洞。

0x04 针对Web Service的渗透测试

使用安全工具辅助进行渗透测试,包括:

  • WebScarap
  • SoapUI
  • WCFStorm
  • SOA Cleaner
  • WSDigger
  • wsScanner
  • Wfuzz
  • RESTClient
  • BurpSuite
  • WS-Attacker
  • ZAP
  • Metasploit
  • WSDL Analyze

0x05 Web Service漏洞案例

XSS

在SOAP请求中,XSS payload的尖括号要进行HTML编码,以避免解析错误。可触发XML XSS,例如利用xhtml。

XXE

利用XML External Entity漏洞,通过合适的exp触发漏洞。

任意用户枚举

利用API逻辑漏洞,通过响应结果二元组推断用户信息。

原型链污染攻击

利用express-fileupload < 1.1.10版本的原型链污染漏洞,可导致DoS或任意代码执行。

DoS

利用Web Service服务的XML解析器漏洞,进行元素属性、元素名称或元素个数的DoS攻击。

其他漏洞

Web Service服务可能存在其他漏洞,如命令注入、SQL注入、逻辑漏洞、信息泄露等,具体取决于服务端代码实现。

以上是Web Service渗透测试的基本概述及实例,涵盖了基础知识、编写程序、搜索服务、渗透测试和漏洞案例等方面。

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容