# 接口分类

SOAP (Simple Object Access Protocol) 简单对象访问协议是交换数据的一 种协议规范,是一种轻量的、简单的、基于 XML (标准通用标记语言下的一个 子集) 的协议,它被设计成在 WEB 上交换结构化的和固化的信息。SOAP 不是 Web Service 的专有协议。SOAP 使用 HTTP 来发送 XML 格式的数据,可以简单 理解为:SOAP = HTTP +XML。

REST (Representational State Transfer) 即表述性状态传递,在三种主流的 Web 服务实现方案中,因为 REST 模式的 Web 服务与复杂的 SOAP 和 XML-RPC 对比来讲明显的更加简洁,越来越多的 Web 服务开始采用 REST 风格设计和实 现。例如,Amazon.com 提供接近 REST 风格的 Web 服务进行图书查找;雅虎提 供的 Web 服务也是 REST 风格的。

WSDL (Web Services Description Language) 即网络服务描述语言,用于描 述 Web 服务的公共接口。这是一个基于 XML 的关于如何与 Web 服务通讯和使 用的服务描述;也就是描述与目录中列出的 Web 服务进行交互时需要绑定的协 议和信息格式。通常采用抽象语言描述该服务支持的操作和信息,使用的时候 再将实际的网络协议和信息格式绑定给该服务。

++ 注意 soap、rest、wsdl 属于 webservice 类

# Webservice 类 wsdl

探针:?wsdl
搜索:inurl:aspx?wsdl、inurl:php?wsdl、edu.cn inurl:asmx?wsdl
利用:SoapUI 或者 ReadyAPI

接口处有很多功能,每一个功能通过输入一些信息都会有相应的信息返回, 可以读取敏感信息泄漏,利用 SoapUI 和 ReadyAPI 通过获取到的 wsdl 接口即 xml 语言的页面自动发送 payload 测试有无安全漏洞。

通过 ReadyAPI 测试接口需要一段时间,但是测试的比较全面,而且可以导 出报告,可以根据此报告查看此接口中含有哪些漏洞,如果跑出来 sql 注入可以 直接用 sqlmap 跑一下。

常规网站全方位扫描工具只能发现这个地址,从这个地址的 url 地址加上参数测试,但是不会从这个地址显示出来的页面上测试漏洞,所有与常规的 web 测试不太相同,需要借助其他的工具。

# Soap 类 swagger

1
2
3
4
5
# 探针:可通过页面数据包或目录结构中查看有没有以下目录
/swagger、/api/swagger、/swagger/ui、/api/swagger/ui
/swagger-ui.html、/api/swagger-ui.html、/user/swagger-ui.html
/libs/swaggerui、/api/swaggerui、/swagger-resources/configuration/ui
/swagger-resources/configuration/security

工具一:可利用 SoapUI 导入 swagger 并解析此文件,SoapUI 工具测是使用 需要 swagger.json 的 url 地址,此地址包含其下的所有的页面中链接信息及配置 信息,但是此工具只能用来测试此接口是不是好的,不能测试到其安全问题。

工具二: https://github.com/jayus0821/swagger-hack , 自动化爬取并自动测试 所有 swagger 接口,可使用 api-docs 或者 swagger.json 文件来测试,分析生成的 csv 查看有无敏感信息返回。一些接口处是可以获取到用户名和密码的,可以存 起来用来枚举此网站上的其他资源。

手工:查看网站上每一个 swagger 所提供的接口的具体的功能,改变相应的 参数看能有什么效果,测试接口功能得到相应信息。

其他工具: https://github.com/lijiejie/swagger-exp ,也可以再需要的时候去搜集工具。

# Http 类 Webpack

webpack 是代码编译工具,有入口、出口、loader 和插件。webpack 是一 个用于现代 JavaScript 应用程序的静态模块打包工具。当 webpack 处理应用程 序时,它会在内部构建一个依赖图 (dependency graph),此依赖图对应映射到项 目所需的每个模块,并生成一个或多个 bundle

探针:插件识别或者数据包中的 js 文件看有没有 webpack
工具:PackerFuzzer-> https://github.com/rtcatc/Packer-Fuzzer
Packer Fuzzer 是一种快速高效的扫描器,用于对由 javascript 模块捆绑器 (如 Webpack) 构建的网站进行安全检测。可以提取 js 中的代码,用来生成一 份报告,查看 js 中有没有相关的安全漏洞。

在 WEB 前端打包打包,在渗透、安全服务中的网站是否会出现更多的 Webpack 打包器似调用,这也便于我们快速完成网站的和 API 清单,但发现这些 JS 打包器所生成的文件之多,并且代码异常量异常多的测试功能给我们提供 了很多上万行的手动功能带来了极大的不便,Packer Fuzzer 软件应运而生。

自动模糊提取目标站点参数,以及对本内容的 API,以及对内容支持 API 的未授权访问:对内容支持的 API 进行 CORS、SQL 注入、越过、授权、任意文件上传大模糊高效在扫描,本工具还支持自动生成扫描报告,您可以选择方 便分析之后的 HTML 版本以及较正规的 doc、pdf、txt 版本。

# DVWS 鉴权 XXE 利用

# Dvws 鉴权

下载地址:https://github.com/snoopysecurity/dvws-node

抓取数据包进行测试,在页面中点击 admin 的时候会有一闪而过的情况, 分析处会判断当前的用户的 admin 字段是否是 true,如果不是不允许进入特定页 面。可以进行注册时的数据包修改,添加 admin 字段并设置为 true,再次进入特 定页面时发现越权成功。实际上也可以按照这个思路去测试一些鉴权问题是否 存在。

# Dvws XXE 漏洞

利用 burp 的 http.history 模式,一顿前端上的接口操作之后,查看有没有特 殊的数据包。排查之后发现了一个如下 soap 的接口,并且是以 xml 语言进行传 输的,那么这种情况下就可以测试 xxe 漏洞,通过 file 协议读取敏感文件。但是 xxe 漏洞一般都是没有回显的,可以配合无回显利用加载远程 dtd 文件或者 dnslog 注入判断漏洞是否存在。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?xml version="1.0"?>
<!DOCTYPE Mikasa [
<!ENTITY test SYSTEM "file:///etc/passwd">
]>

<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schema
s.xmlsoap.org/soap/envelope/" xmlns:urn="urn:examples:usernameservice">
<soapenv:Header/>
<soapenv:Body>
<urn:Username soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">


<username xsi:type="xsd:string">&test;</username>
</urn:Username>
</soapenv:Body>
</soapenv:Envelope>

# App 接口分析

用模拟器打开,流量代理到 burp,查看 app 上的按键及内容,翻阅 burp 的 历史请求,查看一些敏感的数据包。可以看到有大量的接口信息,并且得知网 站有 webpack,采用 PackFuzzer 进行网站 js 代码分析,在得到的文件中会展示 出所有的接口及影响程度。需要一个一个的寻找进行判断。发现所有与 admin 账户相关的数据包都不能正常访问,所以采用登录的方式访问,得到了更多信 息。继续分析 js 源码及 js 漏洞接口尝试获取更多信息。

行云管家可以轻松管理云计算资源: https://yun.cloudbility.com/login.html

阿里云 accesskey 利用: https://github.com/mrknow001/aliyun-accesskey-Tools

接口配置文件泄漏导致云资源主机受控,拿到 accesskey 之后就可以直接控制云上的所有资源

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

.N1h1l157 微信支付

微信支付

.N1h1l157 支付宝

支付宝

.N1h1l157 贝宝

贝宝