本文转自乌云知识库

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,填充各种攻击性数据  • 业务逻辑混淆,导致服务出错

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

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


1. 方法一:业务重放


  • 测试过程使用 burpsuite、fiddler:
  1. HTTP(S)业务流量录制与重放扫描
  2. 手工修改业务数据流
  3. 对手机APP也适用

检测逻辑漏洞:  •水平权限绕过  •订单修改  •隐藏域修改

2. 方法二: 手工记录


• 从日志中获取url记录

1. Fiddler的Url日志 
2. 获取Apache、Nginx、Tomcat的access日志 
3. 从旁路镜像中提取url日志 (安全人员不用再被动等待应用 的上线通知) 
  1. 从Fiddler2、 burpsuite 导出Url日志 再导入到漏洞扫描器扫描

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

  • 360-日志宝
  • Splunk
  • 各种日志审计系统
  1. 从旁路镜像中提取url日志 (安全人员不用再被动等待应用 的上线通知)  如:jnstniffer、 360鹰眼、各大IT公司等

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

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


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

0x04 全被动式漏洞分析:


国外产品:Nessus PVS被动扫描

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


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

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

三位一体的漏洞分析方法-web应用安全测试方法的更多相关文章

  1. web前后端分离漏洞分析防御

    web前后端分离漏洞分析防御 漏洞分析,主要漏洞有 一.跨站脚本攻击XSS 程序 + 数据 = 结果:攻击后,数据夹杂一部分程序(执行代码),导致结果改变: 1.XSS攻击注入点 (a):HTML节点 ...

  2. Web 漏洞分析与防御之点击劫持(三)

    原文地址:Web 漏洞分析与防御之点击劫持(三) 博客地址:http://www.extlight.com 一.全称 点击劫持,顾名思义,用户点击某个按钮,却触发了不是用户真正意愿的事件. 二.原理 ...

  3. Web 漏洞分析与防御之 CSRF(二)

    原文地址:Web 漏洞分析与防御之 CSRF(二) 博客地址:http://www.extlight.com 一.全称 跨站请求伪造(Cross-site Request Forgery) 二.原理 ...

  4. Web 漏洞分析与防御之 XSS(一)

    原文地址:Web 漏洞分析与防御之 XSS(一) 博客地址:http://www.extlight.com 一.全称 跨站脚本攻击(Cross Site Scripting) 二.原理 通过在网站中的 ...

  5. 安全学习概览——恶意软件分析、web渗透、漏洞利用和挖掘、内网渗透、IoT安全分析、区块链、黑灰产对抗

    1 基础知识1.1 网络熟悉常见网络协议:https://www.ietf.org/standards/rfcs/1.2 操作系统1.3 编程2 恶意软件分析2.1 分类2.1.1 木马2.1.2 B ...

  6. [WEB安全]phpMyadmin后台任意文件包含漏洞分析(CVE-2018-12613)

    0x00 简介 影响版本:4.8.0--4.8.1 本次实验采用版本:4.8.1 0x01 效果展示 payload: http://your-ip:8080/index.php?target=db_ ...

  7. Java反序列化漏洞分析

    相关学习资料 http://www.freebuf.com/vuls/90840.html https://security.tencent.com/index.php/blog/msg/97 htt ...

  8. FFmpeg任意文件读取漏洞分析

    这次的漏洞实际上与之前曝出的一个 CVE 非常之类似,可以说是旧瓶装新酒,老树开新花. 之前漏洞的一篇分析文章: SSRF 和本地文件泄露(CVE-2016-1897/8)http://static. ...

  9. SpringBoot SpEL表达式注入漏洞-分析与复现

    目录 0x00前言 0x01触发原因 0x02调试分析 0x03补丁分析 0x04参考文章 影响版本: 1.1.0-1.1.12 1.2.0-1.2.7 1.3.0 修复方案:升至1.3.1或以上版本 ...

随机推荐

  1. 任务侦听器(Task listener)

    任务侦听器:用于在任务相关的事件发生时执行一段java逻辑或者是表达式 <userTask id="myTask" name="My Task" > ...

  2. 怎么将string list 转成有特殊字符分开字符串

    https://stackoverflow.com/questions/4021851/join-string-list-elements-with-a-delimiter-in-one-step Y ...

  3. React入门 (2)—实现微博展示列表

    前言 如果从来不了解React先看前篇React入门 (1)-使用指南(包括ES5和ES6对比). 本文为了能将前篇学到的react知识学以致用,做了一个类似微博展示列表的demo.使用的是ES6+R ...

  4. AC日记——[JSOI2007]建筑抢修 bzoj 1029

    1029 思路: 贪心,而且,stl水过: 然而神特么输出que.size()就错! 代码: #include <queue> #include <cstdio> #inclu ...

  5. python3爬取百度图片(2018年11月3日有效)

    最终目的:能通过输入关键字进行搜索,爬取相应的图片存储到本地或者数据库 首先打开百度图片的网站,搜索任意一个关键字,比如说:水果,得到如下的界面 分析: 1.百度图片搜索结果的页面源代码不包含需要提取 ...

  6. Codeforces Round #209 (Div. 2) D. Pair of Numbers (模拟)

    D. Pair of Numbers time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  7. [BZOJ2125]最短路(圆方树DP)

    题意:仙人掌图最短路. 算法:圆方树DP,$O(n\log n+Q\log n)$ 首先建出仙人掌圆方树(与点双圆方树的区别在于直接连割边,也就是存在圆圆边),然后考虑点u-v的最短路径,显然就是:在 ...

  8. 【树上莫队】【带修莫队】bzoj3052 [wc2013]糖果公园

    #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> using ...

  9. 前端基础-JavaScript的基本概述和语法

    1.JavaScript概述 2.JavaScript引入方式 3.JavaScript语言规范 4.JavaScript语言基础 5.JavaScript数据类型 6.JavaScript运算符 7 ...

  10. Linux中安装MySql 5.7.21的详细操作步骤

    一:到mysql官网下载最新的mysql包 mysql-5.7.21-linux-glibc2.12-x86_64 官方下载地址:https://dev.mysql.com/downloads/mys ...