注意:本文分享给安全从业人员,网站开发人员和运维人员在日常工作中使用和防范恶意攻击,请勿恶意使用下面描述技术进行非法操作。

[TOC]

0x00 前言

描述:在学习它时候我们有必要学习 Fuzz音标 英/fʌz/;

什么是Fuzz技术?
答:Fuzz是一种基于黑盒的自动化软件模糊测试技术,简单的说一种懒惰且暴力的技术融合了常见的以及精心构建的数据文本进行网站、软件安全性测试;

  • 实现形式与目的:它可向目标发送随机或精心构造的数据作为计算机输入,来触发非常规反馈以达到检测漏洞的目的。

  • 优势:

    • 节约测试成本和时间;一般的Fuzz工具自带完备的异常检测机制,发送数据后能精准查出哪些Payload导致了非常规反馈,在输出中将这些触发异常的Payload列出,大大降低了人工测试成本,渗透测试人员只需关注感兴趣的部分。
    • 检测范围、规模大;自动化工具在测试用例的效率和完善上是人工无法比较的,且很多潜在的有效Payload套路固定,这些Payload就无需手工测试,只需有一份精心构造的文
      件和规则即可完成Fuzz。
    • 覆盖可能性多,可检测出意想不到的异常;

Fuzz的核心思想:

  • 目录Fuzz(漏洞点)
  • 参数Fuzz(可利用参数)
  • PayloadFuzz(bypass)


0x01 Fuzz应用场景

  • 漏洞挖掘与Fuzz之敏感目录类似的工具,可能您再入门的时候使用过御剑而其内置的字典就是Fuzz的一种;
    那么这种扫描有什么好处呢?
    答:就是针对一部分网站可以扫描的全面,只要你的字典足够强大就可以扫描到绝大多部分的目录和文件,来自Blasting_dictionary(附录1)的爆破字典很好

  • 漏洞挖掘与Fuzz之敏感文件可利用参数

    • fuzz参数来达到Jsonp劫持以及XSS漏洞等等;
    • 越权验证信息
  • 漏洞挖掘与Fuzz之Bypass

    • SQL injection Bypass
    • Open redirect
    • XSS Fuzzer


0x02 Fuzz常用工具

列出Fuzz常用的工具从我的认知开始:

  • 御剑: 界面化目录和文件扫描
  • Dirsearch : 扫描模式和dirbuster是差不多
  • Dirb :他的字典和御剑的不一样的就是没有针对目录和准确的定位到每个文件而是一个一个的目录名,那么这种扫描下是有一些有点的就是先发现目录在进行文件爆破,而且dirb的判断很智能他在你输入目标后会进行计算错误的请求,避免内些返回200的not found
    1
    Usage : dirb https://domain.com/
  • Nikto : 作用在于目录的爆破
  • wfuzz : 一款十分万能的工具我最近的目录爆破全都是使用wfuzz用熟练之后真的非常十分方便,排除一些响应码之后直接baseline这是我目前比较喜欢的用法
    案例就是wfuzz
    在fuzz过后发现了item参数,这是访问 http://rob-sec-1.com/test/?item=XSSpayload成功弹窗
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $ wfuzz -w /usr/share/wordlists/dirb/common.txt --hh 53 'http://rob-sec-1.com/test/?FUZZ=XSSpayload'

    Target: HTTP://rob-sec-1.com/test/?FUZZ=XSSpayload
    Total requests: 4614
    ID Response Lines Word Chars Payload
    02127: C=200 9 L 8 W 84 Ch "item"

    Total time: 14.93025
    Processed Requests: 4614
    Filtered Requests: 4613
    Requests/sec.: 309.0369
    WeiyiGeek.

    WeiyiGeek.

辅助Fuzz的工具

  • Burpsuite的扩展程序CO2: Sqlmapper模块很好对于我这种注入菜的很的来说简直就是福音,而CeWler的功能是参数提取,比如我们在Http history 里找返回包右键发送到CeWler模块就可以进行参数提取了,在实战中的用处很大,可以把参数提取出来保存做参数字典更高效。


0x03 附录