ffuf:模糊测试

使用 ffuf 进行枚举、模糊测试和目录暴力破解

安装

https://github.com/ffuf/ffuf

建议:https://github.com/danielmiessler/SecLists

ffuf -h

HTTP选项:

-H          请求头'Name:Value'用冒号分隔。可接受多个标志
-X 要使用的HTTP方法。如get,post
-b Cookie数据`"NAME1=VALUE1; NAME2=VALUE2"`
-d POST 数据
-http2 使用HTTP2协议(默认值:false)
-ignore-body 不要获取响应内容。(默认值:false)
-r 遵循重定向(默认值:false)
-recursion 递归扫描,只支持FUZZ关键字,并且-u结尾(默认值:false)
-recursion-depth 最大递归深度。(默认值:0)
-replay-proxy 使用此代理重播匹配的请求
-timeout HTTP请求超时(秒)。(默认值:10)
-u 目标url
-x 代理URL(SOCKS5或HTTP)。例如:http://127.0.0.1:8080或socks5://127.0.0.1:8080

常规选项

-V          显示版本信息(默认值:false)
-ac 自动校准过滤选项(默认值:false)
-acc 自定义自动校准字符串。可以多次使用。含义-ac
-ach 每主机自动校准(默认值:false)
-ack 自动校准关键字(默认值:FUZZ)
-acs 自动校准策略:“基本”或“高级”(默认值:基本)
-c 将输出着色。(默认值:false)
-config 从文件加载配置
-json json输出,打印换行分隔的json记录(默认值:false)
-maxtime 整个进程的最大运行时间(以秒为单位)。(默认值:0)
-maxtime-job 作业每个作业的最大运行时间(以秒为单位)。(默认值:0)
-noninteractive -非交互式禁用交互式控制台功能(默认值:false)
-p 请求之间的“延迟”秒数,或一系列随机延迟。例如“0.1”或“0.1-2.0”
-rate 每秒请求的速率(默认值:0)
-s 不打印附加信息(静默模式)(默认值:false)
-sa 在所有错误情况下停止。暗示-sf和-se。(默认值:false)
-se 在出现虚假错误时停止(默认值:false)
-sf 当>95%的响应返回403 Forbidden时停止(默认值:false)
-t 并发线程数。(默认值:40)
-v 详细输出,打印完整的URL和重定向位置(如果有)以及结果。(默认值:false)

匹配器选项

-mc         匹配HTTP状态代码,或“全部”表示所有内容。(默认值:200,204,301,302,307,403,404,500)
-ml 匹配响应行数
-mmode 匹配器集运算符。以下任一项:和或(默认值:或)
-mr 匹配正则表达式
-ms 匹配HTTP响应大小
-mt 匹配第一个响应字节的毫秒数,大于或小于。例如:>100或<100
-mw 匹配响应的单词数量

过滤器选项:

-fc         从响应中筛选HTTP状态代码。代码和范围的逗号分隔列表
-fl 根据响应的行数进行过滤。行计数和范围的逗号分隔列表
-fmode 筛选器集运算符。以下任一项:和或(默认值:或)
-fr 筛选器正则表达式
-fs 筛选器HTTP响应大小。大小和范围的逗号分隔列表
-ft 根据到第一个响应字节的毫秒数进行筛选,大于或小于。例如:>100或<100
-fw 按响应的字数进行筛选。以逗号分隔的单词计数和响铃列表

输入选项

-D          DirSearch单词列表兼容模式。与-e标志一起使用。(默认值:false)
-e 扩展名的逗号分隔列表。扩展FUZZ关键字
-ic 忽略单词列表注释(默认值:false)
-input-cmd 要测试的输入数。与--input cmd一起使用。(默认值:100)
-input-shell 用于运行命令的外壳
-mode 多单词列表操作模式。可用模式:clusterbomb, pitchfork, sniper (default: clusterbomb)
-request 包含原始http请求的文件
-request-proto 与原始请求一起使用的协议(默认值:https)
-w 用冒号分隔的单词列表文件路径和(可选)关键字

输出选项

-debug-log      将所有内部日志记录写入指定的文件。
-o 将输出写入文件
-od 将匹配结果存储到的目录路径
-of 输出文件格式。可用格式:json、ejson、html、md、csv、ecsv(或所有格式的“all”)(默认值:json)
-or 如果没有结果,就不要创建输出文件(默认值:false)

示例用法

至少需要提供两个选项:-u指定 URL 和-w指定词表。default 关键字FUZZ用于告诉 ffuf 将在何处注入词表条目

ffuf -u http://10.10.172.97/FUZZ -w /usr/share/seclists/Discovery/Web-Content/big.txt

开始枚举通用文件列表,例如 raft-medium-files-lowercase.txt
ffuf -u http://10.10.172.97/FUZZ -w /usr/share/seclists/Discovery/Web-Content/raft-medium-files-lowercase.txt 可以在 index 之后附加扩展名
ffuf -u http://10.10.172.97/indexFUZZ -w /usr/share/seclists/Discovery/Web-Content/web-extensions.txt 筛选
ffuf -u http://10.10.172.97/FUZZ -w /usr/share/seclists/Discovery/Web-Content/raft-medium-words-lowercase.txt -e .php,.txt 对目录的fuzz
ffuf -u http://10.10.172.97/FUZZ -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories-lowercase.txt 过滤状态码为403 -fc 403
ffuf -u http://10.10.172.97/FUZZ -w /usr/share/seclists/Discovery/Web-Content/raft-medium-files-lowercase.txt -fc 403 匹配状态码为200
ffuf -u http://10.10.172.97/FUZZ -w /usr/share/seclists/Discovery/Web-Content/raft-medium-files-lowercase.txt -mc 200 过滤匹配正则表达式的文件
ffuf -u http://10.10.172.97/FUZZ -w /usr/share/seclists/Discovery/Web-Content/raft-medium-files-lowercase.txt -fr '/\..*' 子域枚举和虚拟主机枚举
ffuf -u http://FUZZ.mydomain.com -c -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt -fs 0
ffuf -u http://mydomain.com -c -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt -H 'Host: FUZZ.mydomain.com' -fs 0

ffuf的使用的更多相关文章

  1. ffuf 基础食用指南

    PS: 1. 下文出现的某些字典 有可能是因为摆出效果 我自己瞎搞得字典 2. 分享一些好的工具 3. 其实Wfuzz也很好用的 4. 很早之前就在语雀写过Wfuzz和ffuf的笔记 但是一直没有公开 ...

  2. JMeter学习-007-JMeter 断言实例之一 - 响应断言

    之前的文章中已经对如何录制 web 的请求进行了详细的描述,敬请参阅:JMeter学习-004-WEB脚本入门实战 同时,我们的手机应用(例如:京东.天猫.唯品会.携程.易迅 等等 App)所发出的请 ...

  3. Python学习笔记12—类

    典型的类和调用方法: #!/usr/bin/env Python # coding=utf-8 __metaclass__ = type #新式类 class Person: #创建类 def __i ...

  4. PLSQL_性能优化系列14_Oracle High Water Level高水位分析

    2014-10-04 Created By BaoXinjian 一.摘要 PLSQL_性能优化系列14_Oracle High Water Level高水位分析 高水位线好比水库中储水的水位线,用于 ...

  5. PLSQL_性能优化系列06_Oracle Soft Parse / Hard Parse软硬解析

    2014-08-11 Createed By BaoXinjian

  6. python之lambda表达式

    lambda函数小结 1.lambda表达式: 以前看人家写一个长式子就能干一件我写一个函数干的事情觉得好帅,现在通过学习知道了lambda表达式其原理就是一个函数,而且是一个只能处理简单功能的函数. ...

  7. [转]Oracle High Water Level高水位分析

    PLSQL_性能优化系列14_Oracle High Water Level高水位分析 http://www.cnblogs.com/eastsea/p/4005814.html 一.摘要 PLSQL ...

  8. 团体程序设计天梯赛(CCCC) L3019 代码排版 方法与编译原理密切相关,只有一个测试点段错误

    团体程序设计天梯赛代码.体现代码技巧,比赛技巧.  https://github.com/congmingyige/cccc_code

  9. dbForge Studio for MySQL V8.0 Enterprise

    上篇文章:JetBrains全家桶破解思路(最新更新:2018-12-24) 最适合从SQLServer转向MySQL的人使用(用起来基本上差不多) 最适合Net开发人员的MySQL IDE (不装V ...

  10. JAVA 抽象类、接口

    一.抽象类 1.语法定义 在类前面使用 abstract 修饰的类就是抽象类 2.应用场景: (1)在某些情况下,某个父类只是知道其子类应该包含怎样的方法,但无法准确知道这些子类如何实现这些方法. ( ...

随机推荐

  1. 机器学习基础02DAY

    数据的特征预处理 单个特征 (1)归一化 归一化首先在特征(维度)非常多的时候,可以防止某一维或某几维对数据影响过大,也是为了把不同来源的数据统一到一个参考区间下,这样比较起来才有意义,其次可以程序可 ...

  2. Ubuntu18.04二进制安装elasticsearch

    1. 什么是Elasticsearch Elasticsearch 是位于 Elastic Stack 核心的分布式搜索和分析引擎.Logstash 和 Beats 有助于收集.聚合和丰富您的数据并将 ...

  3. 大语言模型快速推理: 在 Habana Gaudi2 上推理 BLOOMZ

    本文将展示如何在 Habana Gaudi2 上使用 Optimum Habana.Optimum Habana 是 Gaudi2 和 Transformers 库之间的桥梁.本文设计并实现了一个大模 ...

  4. idea 热部署插件JRebel

    idea 热部署插件JRebel ​ 当开始开发web项目的时候,需要频繁的修改web页面,此时如果频繁的重启变得很麻烦,因此,可以在idea中集成JRebel插件,改动代码之后不需要重新启动应用程序 ...

  5. 实现自定义注解,实现ioc与aop

    实现自定义注解主要分三个步骤: 1.定义自己的注解类. 注解类默认继承Annotation接口. 且注解内的属性默认public(要给别人用的) 属性可以定义默认值也就是不给你的属性传值也会拥有默认. ...

  6. SpringIOC注入

    在lagou的训练营的学习历程 SpringIOC实例化Bean的三种方式:1.使用无参构造器2.静态方法3.实例化方法.他要先实例化创建类(和2的区别),再调用. XML注入属性DI依赖注入,根据实 ...

  7. windows通过修改注册表来修改暂停更新时间

    但通过修改注册表,我们可以将这个天数修改成自己期望的,比如10年. 在小娜或者运行中输入 regedit 打开注册表编辑器,展开至 HKEY_LOCAL_MACHINE\SOFTWARE\Micros ...

  8. StampedLock:JDK1.8中新增,比ReadWriteLock还快的锁

    摘要:StampedLock是一种在读取共享变量的过程中,允许后面的一个线程获取写锁对共享变量进行写操作,使用乐观读避免数据不一致的问题,并且在读多写少的高并发环境下,比ReadWriteLock更快 ...

  9. 【vue3-element-admin 】基于 Vue3 + Vite4 + TypeScript + Element-Plus 从0到1搭建后台管理系统(前后端开源@有来开源组织)

    vue3-element-admin 是基于 vue-element-admin 升级的 Vue3 + Element Plus 版本的后台管理前端解决方案,技术栈为 Vue3 + Vite4 + T ...

  10. Python用哈希算法查找相似图片(包括不同分辨率,不同大小,不同格式的图片)

    # -*- coding: utf-8 -*- ''' Python用哈希算法查找相似图片并放入[_df]的文件夹中 相似图片包括不同分辨率,不同大小,不同格式,只要图片相似就会算重复文件 安装cv2 ...