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

BMa 2015-03-13 10:05:00

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:  

  • HTTP(S)业务流量录制与重放扫描 

  • 手工修改业务数据流 
  • 对手机APP也适用 

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

2. 方法二: 手工记录


• 从日志中获取url记录 

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

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

  • 360-日志宝 
  • Splunk 
  • 各种日志审计系统 

  • 从旁路镜像中提取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攻击。

评论

M

ModNar 2015-03-13 10:23:36

嗯,去年ISC的议题。当时就有疑问:对于全被动,不配合IDC或WAF能检测到盲注么?

爱上平顶山 2015-03-13 11:13:10

说到底 还是出钱的好

M

Mr .LZH 2015-03-13 13:29:31

曾经挖了一个网站的注入,刚提交乌云,过了几个小时审核不通过,原因:漏洞不存在。再去看一下,发现漏洞被修复了。所以说被动虽然不能在第一时间做出相应,但也是一种比较快速的发现产品线漏洞的方法。

F

f4ckbaidu 2015-03-14 16:09:24

PVS好贵的说~

P

px1624 2015-03-14 21:30:55

哈哈,就是你,扫描器,被封了!

B

BMa 2015-03-18 16:51:40

基友们引以为戒

路人甲 2015-12-07 17:08:35

听起来很牛逼的样子,有木有开源的?

B

BMa

这个人很懒,没有留下任何介绍

twitter weibo github wechat

随机分类

数据分析与机器学习 文章:12 篇
Java安全 文章:34 篇
IoT安全 文章:29 篇
神器分享 文章:71 篇
软件安全 文章:17 篇

扫码关注公众号

WeChat Offical Account QRCode

最新评论

Article_kelp

因为这里的静态目录访功能应该理解为绑定在static路径下的内置路由,你需要用s

N

Nas

师傅您好!_static_url_path那 flag在当前目录下 通过原型链污

Z

zhangy

你好,为什么我也是用windows2016和win10,但是流量是smb3,加密

K

k0uaz

foniw师傅提到的setfge当在类的字段名成是age时不会自动调用。因为获取

Yukong

🐮皮

目录