Fuzz入门以及在渗透测试中重要性
时间:2022-07-28
本文章向大家介绍Fuzz入门以及在渗透测试中重要性,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
注意:本文分享给安全从业人员,网站开发人员和运维人员在日常工作中使用和防范恶意攻击,请勿恶意使用下面描述技术进行非法操作。
[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 foundUsage : dirb https://domain.com/
- Nikto : 作用在于目录的爆破
- wfuzz : 一款十分万能的工具我最近的目录爆破全都是使用wfuzz用熟练之后真的非常十分方便,排除一些响应码之后直接baseline这是我目前比较喜欢的用法
案例就是wfuzz
在fuzz过后发现了item参数,这是访问
http://rob-sec-1.com/test/?item=XSSpayload
成功弹窗
$ 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.
辅助Fuzz的工具
- Burpsuite的扩展程序CO2: Sqlmapper模块很好对于我这种注入菜的很的来说简直就是福音,而CeWler的功能是参数提取,比如我们在Http history 里找返回包右键发送到CeWler模块就可以进行参数提取了,在实战中的用处很大,可以把参数提取出来保存做参数字典更高效。
0x03 附录
- 用R语言对城管事件数据分析
- 使用dropwizard(4)-加入测试-jacoco代码覆盖率
- goldengate学习-安装篇(71天)
- 使用dropwizard(6)-国际化-easy-i18n
- 配置不同环境下启用swagger,在生产环境关闭swagger
- 使用ControllerAdvice注意事项,Ambiguous @ExceptionHandler method mapped for [class org.springframework.web.
- rac节点无法启动ORA-29702的问题及分析(70天)
- SpringMVC,SpringBoot文件下载
- SpringCloud学习1-服务注册与发现(Eureka)
- 物化视图全量刷新与insert的redo生成量测试(69天)
- SpringCloud学习2-Springboot监控模块(actuator)
- 原码,反码,补码 与(&) 或(|) 非(~) 异或(^) 左移 << 右移 >> 无符号右移 >>>
- lombok使用基础教程
- 【Android基础】Android中的Intent详解
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 如何将CentOS7升级至CentOS8(详细步骤)
- leetcode树之二叉树的所有路径
- 如何利用Bash脚本监控Linux的内存使用情况
- Ubuntu18 给terminal改个漂亮的命令行提示符的方法
- leetcode树之将有序数组转换为二叉搜索树
- 在 Ubuntu 上安装 Protobuf 3 的教程详解
- protobuf简单介绍和ubuntu 16.04环境下安装教程
- Ubuntu解决火狐浏览器无法同步书签的问题【推荐】
- Ubuntu添加swap分区的方法
- linux文件目录管理命令整理总结
- C++核心准则SF.8:为所有的.h文件使用包含监护
- 利用logsave如何将命令输出保存起来
- CentOs下安装gcc/g++/gdb的方法
- 详解firewall的规则设置与命令(白名单设置)
- 二叉树:构造一棵最大的二叉树