# 三位一体的漏洞分析方法-web应用安全测试方法

Author: 乌云历史资料库 (@wooyun_archive)
Published: 2015-03-13T02:05:00Z
Canonical: https://wepostx.com/topics/746

> 乌云历史资料归档
>
> **原始作者：** BMa
> **原始编号：** superkieran-wooyundrops:500
> **原始发布时间：** 2015-03-13 10:05
> **声明：内容仅用于技术研究和个人使用，版权归 wooyun.org。**

---

# 0x00 前言

节选自： http://www.owasp.org.cn/OWASP_Conference/owasp-20140924/02OWASPWeb20140915.pdf

- 4.1  主动式（全自动 ）：Web2.0、交互式漏洞扫描

- 4.2  半自动式漏洞分析：业务重放、url镜像，实现高覆盖度

- 4.3  被动式漏洞分析：应对0Day和孤岛页面

# 0x01 主动式（全自动 ）Web扫描

• 使用常见的漏洞扫描器  • 自动fuzz，填充各种攻击性数据  • 业务逻辑混淆，导致服务出错

![原文图片](/media/2016/06/eb1f59cb6feb0cd427490f575e6a640f)

• 局限：  • 难以处理高交互式应用  • 只能发现暴露给用户（搜索引擎）的链接，难以覆盖100%的业务链接  • 解决方法：引入半被动式漏洞分析方法  • 在人工未参与的情况下，50%以上的Web应用系统存在高危漏洞

# 0x02 半自动式漏洞分析：业务重放+url镜像，实现高覆盖度

## 1. 方法一：业务重放

- 测试过程使用 burpsuite、fiddler：

- HTTP（S）业务流量录制与重放扫描

- 手工修改业务数据流

- 对手机APP也适用
检测逻辑漏洞：  •水平权限绕过  •订单修改  •隐藏域修改

![原文图片](/media/2016/06/9e68687559d991353d230709af5b11d4)

## 2. 方法二： 手工记录

• 从日志中获取url记录

```text
1. Fiddler的Url日志 2. 获取Apache、Nginx、Tomcat的access日志 3. 从旁路镜像中提取url日志 （安全人员不用再被动等待应用 的上线通知）
```

- 从Fiddler2、 burpsuite 导出Url日志 再导入到漏洞扫描器扫描

![原文图片](/media/2016/06/78b6367e44abd4ac0fca859e4f654696)

![原文图片](/media/2016/06/b08296f1d8adaba6f5358cebd905bbd1)

2.获取Apache、Nginx、Tomcat的access日志

- 360-日志宝

- Splunk

- 各种日志审计系统

- 从旁路镜像中提取url日志 （安全人员不用再被动等待应用 的上线通知）  如：jnstniffer、 360鹰眼、各大IT公司等

![原文图片](/media/2016/06/e479e3ac0e0d85142595adeb65a58c58)

• 从旁路镜像中获取url列表，能高效地检出大量的漏洞，不需要运维人员通知，便可以获知业务系统的上线情况并执行漏洞扫描任务。

# 0x03 半自动式漏洞分析：业务重放、url镜像，高覆盖度

- 局限  ① 时间滞后/token: 流量重发时，不一定能100%重现当时的业务流程及出现的bug。  ② 依然难以覆盖100%的业务链接，存在孤岛页面。（正常数据流不触发）  ③ 漏洞检测（防御）技术滞后于攻击技术，无法解决0day漏洞  - 解决方法：引入全被动式漏洞分析

# 0x04 全被动式漏洞分析：

国外产品：Nessus PVS被动扫描

![原文图片](/media/2016/06/5cc112195d743cdcb021147fd081f3f4)

## 全被动式漏洞分析（不发送任何数据包)

- 全被动式扫描VS主动式漏洞扫描器  相同点：都是根据双向数据包的内容，判断漏洞是否存在  不同点：  检测方式：被动式扫描不需要联网，不会主动发出url请求，也不发出任何数据包 PVS和IDS的区别：  • 更关注漏洞感知，而不是入侵，如页面出现sql错误信息，可触发pvs报警，但不会触发ids报警。  • 报警结果不一样：pvs按照漏洞的风险等级，ids按照黑客的攻击手段报警  • 双向分析数据报文  • 更关注于web应用，OWASP TOP10的攻击手段  • 按攻击影响报警（分析双向报文），而不是按攻击手段去报警（分析单向报文） Nessus的PVS只是一个思路，它专注及网络及主机漏洞，对Web应用的检测能力有限，需要重新设计一个针对web的PVS出来:WebPVS，同步接受用户提交的所有业务请求，通过扫描引擎识别请求，一旦发现恶意请求或者该请求返回数据，触发报警处理

![原文图片](/media/2016/06/a3a5c6456e60a33cadb889e6ed0bc3a7)

• WebPVS的优点：    • 虽然依然难以覆盖100%的业务链接，但是能覆盖100%已经发生的业务链接。  • 能与黑客同步发现各种漏洞 • 由于HTTP协议是固定，因此能够根据回包情况发现0day攻击。

## Replies
