本文转自乌云知识库

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. Markdown文件导出为HTML的小程序

    Markdown文件导出为HTML的小程序 为什么做 最近把一些学习经验记下来,总结成MarkDown文件,不知不觉已经有12篇了. Sublime Text 的 MarkDown Preview 插 ...

  2. inside a shard

    fsync sync fsync/syncsync is a standard system call in the Unix operating system, which commits to d ...

  3. python 判断平年还是闰年

    while 1: s = input('请填入一个年份:') s = int(s) year = False if s % 100 == 0 and s % 400 == 0: year = True ...

  4. javascript实现网页返回顶部功能

    在浏览网页时,我们一般是拖动滚动条向下滑动,浏览下面的内容,当页面超过单页时,右下角会出现一个回到顶部的图标,有些网站这个图标一直显示在右下角的. 有些网站使用锚链接来实现页面内容的跳转,但这种效果的 ...

  5. win7或win2008系统中,出现【已停止工作,联机检查解决方案并关闭该程序,关闭程序】解决方法!

    win7或win2008系统中,出现[已停止工作,联机检查解决方案并关闭该程序,关闭程序]解决方法! 经过摸索,点击[控制面板]-[操作中心]-[更改操作中心设置]-[问题报告设置]-[从不检查解决方 ...

  6. PHP极速开发框架LotusAdmin page版发布

    体验地址及账号如下: 地址    https://page.waytomilky.com/ 账号:admin 密码:123456 LotusAdmin2.0其主要特性包括: 1.基于ThinkPHP5 ...

  7. AC日记——Andryusha and Colored Balloons codeforces 780c

    C - Andryusha and Colored Balloons 思路: 水题: 代码: #include <cstdio> #include <cstring> #inc ...

  8. C# DataGridView分页显示

    //导入命名空间部分省略 DBClass.DBExecute dbexecute = new DBExecute(); string connectionString = @"Data So ...

  9. Asp.net中web.config配置文件详解

    Web.config文件是一个XML文本文件,它用来储存 ASP.NET Web 应用程序的配置信息(如最常用的设置ASP.NET Web 应用程序的身份验证方式),它可以出现在应用程序的每一个目录中 ...

  10. python 中sshpass的使用

    如何用SSH连接远程服务器有两种方式 1.利用远程软件控制:sshclient.Puttty.secureCRT等 2.终端命令 ssh -p 22 root@服务器ip  密码需要手工交互式输入(2 ...