大话FUZZ测试

Fuzz的原理与实现 模糊测试(fuzz testing)是一种自动化的软件测试技术,通常用于识别程序中的潜在漏洞。其概念最早由威斯康辛大学的巴顿·米勒于1989年提出。AFL是一种fuzz方法,目前广泛使用在模糊测试中。本篇博客介绍了使用模糊测试的目的,以及AFL实现模糊测试的原理,并依据案例具体实现AFL。 阅读详情
前言

在此之前我已经分享了关于FUZZ的两篇文章,一篇是关于FUZZ过某狗进行SQL注入,一篇是关于一款经典工具WFUZZ的使用!今天我就FUZZ测试流程进行简单分析!欢迎各位斧正!

正文

核心思想

  • 目录Fuzz( base )
  • 参数Fuzz
  • Payload Fuzz (Bypass)
FUZZ敏感目录
御剑

这款工具大家都比较熟了,也是一款比较经典的工具,它的模式是怎样的呢?

http://domain.com/+你的目录字典那一般我们的目录字典是这样子的

在这里插入图片描述

那么这种扫描有什么好处呢?就是针对一部分网站可以扫描的全面,只要你的字典足够强大就可以扫描到绝大多部分的目录和文件,来自Blasting_dictionary的爆破字典很好,github地址https://github.com/rootphantomer/Blasting_dictionary这里的103w+目录字典就很符合御剑的模式,其实也就是看程序员的命名。

Dirsearch

dirsearch是一个基于python的命令行工具,旨在暴力扫描页面结构,包括网页中的目录和文件

kali里面并没有dirsearch,需要从github下载!

下载:git clone https://github.com/maurosoria/dirsearch

并进入下载目录

cd dirsearch/

运行需要python环境,这里使用python3

python3 dirsearch.py -u "http://localhost/" -e *

在这里插入图片描述

扫描网站需要指定网站的脚本类型, 为全部类型的脚本*

参数列表:

-h, --help 查看帮助
-u URL, --url=URL 设置url
-L URLLIST, --url-list=URLLIST 设置url列表
-e EXTENSIONS, --extensions=EXTENSIONS 网站脚本类型
-w WORDLIST, --wordlist=WORDLIST 设置字典
-l, --lowercase 小写
-f, --force-extensions 强制扩展字典里的每个词条
-s DELAY, --delay=DELAY 设置请求之间的延时
-r, --recursive Bruteforce recursively 递归地扫描
–scan-subdir=SCANSUBDIRS, --scan-subdirs=SCANSUBDIRS 扫描给定的url的子目录(用逗号隔开)
–exclude-subdir=EXCLUDESUBDIRS, --exclude-subdirs=EXCLUDESUBDIRS 在递归过程中排除指定的 子目录扫描(用逗号隔开)
-t THREADSCOUNT, --threads=THREADSCOUNT 设置扫描线程
-x EXCLUDESTATUSCODES, --exclude-status=EXCLUDESTATUSCODES 排除指定的网站状态码(用逗 号隔开)
-c COOKIE, --cookie=COOKIE 设置cookie
–ua=USERAGENT, --user-agent=USERAGENT 设置用户代理
-F, --follow-redirects 跟随地址重定向扫描
-H HEADERS, --header=HEADERS 设置请求头
–random-agents, --random-user-agents 设置随机代理
–timeout=TIMEOUT 设置超时时间
–ip=IP 设置代理IP地址
–proxy=HTTPPROXY, --http-proxy=HTTPPROXY 设置http代理。例如127.0.0.1:8080
–max-retries=MAXRETRIES 设置最大的重试次数
-b, --request-by-hostname 通过主机名请求速度,默认通过IP
–simple-report=SIMPLEOUTPUTFILE 保存结果,发现的路径
–plain-text-report=PLAINTEXTOUTPUTFILE 保存结果,发现的路径和状态码
–json-report=JSONOUTPUTFILE 以json格式保存结果

Dirb

使用方法

 dirb http://www.100security.com.br /usr/share/dirb/wordlists/common.txt

我每次都使用/usr/share/wordlists/dirb/common.txt这个字典在各种的情景下都是很好用!

在这里插入图片描述

dirbuster 与之类似所以便不再引出!dirb的判断很智能他在你输入目标后会进行计算错误的请求,避免内些返回200的not found

WFUZZ

wfuzz是一款十分万能的工具我最近的目录爆破全都是使用wfuzz用熟练之后真的非常十分方便,排除一些响应码之后直接baseline这是我目前比较喜欢的用法!用法参考我之前写的博客!

参数FUZZ

这里使用sqli-libs第29关进行简单测试!

首先我们使用wfuzz自带的sqlfuzzer测试参数

在这里插入图片描述

这里我们把结果导出为html文件方便我进行查看!

在这里插入图片描述

这里所有都是返回是200,有时候会有不一样的状态码,比如404,403等!这时候需要我们去除或者特别注意!所以接下来我们查看不同的fuzz结果

在这里插入图片描述

在这里插入图片描述

我们通过fuzz就发现这一关存在sql语句的报错!那么就有可能存在报错注入!fuzz更多时就会发现一些绕过它waf的情况,这个需要更深的挖掘!这里只是做一个引子!

Payload FUZZ

这部分内容参考我之前的博客:FUZZ过某狗!

所谓payload fuzz其实就是通过大量测试枚举字符组合,最终得到能够绕过WAF的有效载荷!

栗子

栗子来源:c1h2e1师傅

wfuzz -z file,starter.txt -p 192.168.31.26![:1080:]()SOCKS5 --hs "Cannot" https://foo.domain.com/FUZZ
当时我fuzz的命令,因为是国外的网站所以加了代理,过滤了返回Cannot的返回包当我等待返回结果的时候他返回了/user/login.action当我访问的时候返回的具体内容我没有保存,大概意思是User Not found然后我停下了wfuzz开始进行/user/目录的fuzz这是我fuzz了很久,基本上都是返回这样,然后打开了user目录,发现他直接给我返回了整站的用户数据由于是私有项目而且涉及用户比较多
在这里插入图片描述
这就是核心思想的体现在寻找漏洞点的目录Fuzz!

漏洞挖掘与Fuzz之敏感目录可利用参数

在这里插入图片描述

先从Burpsuite的扩展程序CO2说起,关于CO2的话相信不需要太多介绍了,Sqlmapper模块很好,而CeWler的功能是参数提取,比如我们在Http history 里找返回包右键发送到CeWler模块就可以进行参数提取了,在实战中的用处很大,可以把参数提取出来保存做参数字典,这样的字典更高效。

Jsonp劫持

一次众测中我的目标网站是金融站,在个人中心的很多业务都是json返回,有很多的敏感信息。我尝试Fuzz了callback函数结果没有成功,之后我在另一个子域名进行了参数提取发现了_cb_在添加之后发现成功的回调,然后劫持成功。

在这里插入图片描述

Hidden XSS

原文链接https://markitzeroday.com/xss/finding/2018/02/03/hidden-xss.html

在这里插入图片描述

这里原作者用到了Nikto这里他发挥的作用在于目录的爆破其实如果用其他工具也可以代替,返回报告发现了/test/目录,这是访问了test目录

在这里插入图片描述

返回了NULL,这是他进行了进一步的fuzz,也就是参数fuzz

在这里插入图片描述

在fuzz过后发现了item参数,这是访问http://rob-sec-1.com/test/?item=XSSpayload成功弹窗

在这里插入图片描述

很好的体现参数Fuzz与目录Fuzz如果这个item参数有过滤那就很完美的体现了所有的核心思想**(因为博客不能写script标签,所有替换成了XSSpayload)**

关于字典

Fuzzdb

https://github.com/Fuzzdb-project/Fuzzdb

seclist

https://github.com/danielmiessler/SecLists

某大牛的字典

https://github.com/bl4de/dictionaries/

https://github.com/1N3/IntruderPayloads/

结语

FUZZ测试系列介绍,已经完结!以后会分享一些FUZZ的真实案例!FUZZ作为漏洞挖掘的重要姿势!是一个安全从业人员不可或缺的技能!希望大家多多挖洞!天天开心!该吃饭了…

测试:Fuzz测试 Fuzz 测试特别适用于那些**常规测试难以覆盖**的情况,能有效挖掘隐藏的错误和安全隐患。 阅读详情

相关推荐

FUZZ测试总结

模糊测试(fuzzing test)是一种软件测试技术,其核心思想是将自动或半自动生成的随机数据输入到一个程序中,并监视程序异常,如崩溃,断言(assertion)失败,以发现可能的程序错误,比如内存泄漏,访问越界等。Fuzzing测试框架使用了LLVM编译器框架中的libFuzzer作为Fuzzing引擎进行构建,libFuzzer是一个基于LLVM编译时路径插桩,可以对被测库API进行路径引导测试的Fuzzing引擎。

Three的笔记 4398

Fuzz测试 - 基础

(20210215 - 这篇文章是很久之前记录在简书的草稿箱中的,这次翻出来,就迁移过来) 2020/07/10 - 0. 引言 本文主要是阅读了文章[1]的简单总结,简单记录一下知识点,后续会安排更多的文章来具体描述。 1. Fuzz测试 在我之前的理解中,Fuzz测试就是通过构造不规则的输入,从而触发程序的某种bug;虽然也知道几款工具,但是只是停留在了解阶段。传统的漏洞挖掘包括三种方法:白盒代码审计,灰盒逆向工程,黑盒测试,Fuzz测试属于其中的黑盒测试。现在有了人工智能及深度学习的帮助,能够借助更多

围城 2万+

EEGLAB+ERPLAB实战:从.cnt文件到情绪ERP差异波,一份避坑指南

本文详细介绍了使用EEGLAB和ERPLAB处理Neuroscan的.cnt格式脑电数据的全流程,从数据导入、预处理到情绪ERP差异波生成。重点解决了采样率验证、事件标记检查、重参考选择、滤波策略与ICA组合等实操难题,并提供了情绪图片ERP研究中P1、EPN和LPP成分的分析技巧,帮助研究者避免常见错误,提升数据处理效率。

weixin_26795617的博客 264

Fuzz测试:自动化测试软件隐患和漏洞的秘密武器

模糊测试(Fuzz Testing)是一种广泛用于软件安全和质量测试的自动化测试方法。它的基本思想是向输入参数或数据中注入随机、不规则或异常的数据,以检测目标程序或系统在处理不合法、不正常或边缘情况下的行为。模糊测试通常用于寻找软件漏洞、安全漏洞和崩溃点,以改进软件的稳定性和安全性。

小司机的奥拓 3541

华三模拟器实战:3分钟搞定路由器DHCP地址池配置(附常见错误排查)

本文提供华三模拟器中路由器DHCP地址池的实战配置指南。通过分步详解,帮助用户在3分钟内完成基础设置,并深入讲解多地址池、中继配置等进阶应用。文章重点剖析了DHCP服务无法工作的常见原因,提供从客户端到服务器的系统性排错方法,助力快速定位并解决地址分配失败、获取参数错误等典型问题。

w1x2y3的博客 360

MATLAB R2023a下载链接及软件安装教程

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。a是上半年,b是下半年版本,但是有些小弱们总是觉得只要是b一定功能多,这不一定的,同年版本b比a可能稍微全点,不同年的,比如21b,22a,肯定22a要比21b版本高功能多了。10、选择目标文件夹,默认的是C盘,想修改的话可以单击【浏览】,然后单击【下一步】

qq_53545309的博客 5158

大话测试数据之一

测试数据在整个测试过程中扮演着极为重要的角色,但是它却像个没有星象的演员,明明至少是男二号,但总是被观众忽略。在测试过程中,我们往往在测试计划阶段就忽略了测试数据,在起先没有给测试数据的设计、准备留出足够的时间,投入足够的精力,到了测试执行阶段追悔莫及。只有吃过大亏的测试人员,才会在下一个测试开始的初期就认真的对待它。楼主也算是吃过亏的人。因此在现在经手的测试工作中,总会提着测试数据这根弦。今天一...

测试帮日记 447

【思博伦】史上最详细Spirent TestCenter测试仪使用教程精讲(一)!图解超赞超详细!!!

3. 在弹出的界面中,找到菜单栏中的“Connect/Create”,选择下拉框中的“Connect to Physical/Visual Chassis”,在弹出的对话框中输入思博伦测试仪的IP地址:192.168.6.244,点击“OK”;说明:目前我们只需要使用到Raw Stream Block,不需要用到Bound Stream Block。说明:如果要使用100G模式,由于硬件限制,必须连续3个面板端口同时配置为100G使用。打开安装包,并按照提示按照即可。

风云说通信 6477

大话测试数据(一)

导读:测试数据的准备至关重要,无论是手工测试还是自动化测试都要以良好的测试数据准备为基础。本文为霍格沃兹测试学院特邀嘉宾,某互联网巨头企业资深测试技术专家刘晓光(skytraveler)...

霍格沃兹测试学院的博客 347

Dify 本地部署教程

到这里,Dify 就安装完成了,更多操作设置可以参考官方文档,Dify 和 FastGPT 基本上差不多,也可以同时安装一下 FastGPT 进行体验~Docker Compose 部署 | Dify。

Muti-Agent 6648

【ESP 保姆级教程】玩转emqx数据集成篇④ ——数据桥接之HTTP服务

主要是学习数据桥接功能以及构建自己的http服务器,这是一个非常有用的功能。包括各种传感器上报基本上都需要数据桥接功能支持,所以还是希望认真学习这一块开发,然后结合数据库存储等等知识点进行进一步学习。

单片机菜鸟哥的博客 1306

大话测试数据(二):概念测试数据的获取

测试数据在整个测试过程中扮演着极为重要的角色,但是它却像个没有星象的演员,明明至少是男二号,但总是被观众忽略。在测试过程中,我们往往在测试计划阶段就忽略了测试数据,在起先没有给测试数据的设计、准备留出足够的时间,投入足够的精力,到了测试执行阶段追悔莫及。 只有吃过大亏的测试人员,才会在下一个测试开始的初期就认真的对待它。笔者也算是吃过亏的人。因此在现在经手的测试工作中,总会提着测试数据这根弦。恰巧有同学问到这方面的问题,就分享一下个人的经验总结,与大家一起探讨。 在大话测试数据(一)文章中,我提到,获取数.

软件测试小迷糊 416

thinkphp6/8 - 实现评论区发表评论、回复评论功能数据库表设计与整个逻辑思路过程分析,tp5 评论盖楼等功能(附带源码稍加改造即可使用)

tp5评论区数据库表设计,tp5发表回复评论功能设计,thinkphp5如何做评论功能,tp5 php评论区实现发表回复删除评论,tp5评论区盖楼源码及数据表设计思路,thinkphp评论功能详细教程,thinkphp实现评论与回复功能,thinkphp实现文章评论和回复评论功能,tp5实现评论回复功能,thinkphp如何实现评论区,tp5网站PC移动端h5怎么做评论区发表留言及回复功能,thinkphp实现评论区插件,thinkphp评论区相互发表回复功能详细教程,thinkphp有没有评论区的组件插件

✅ 精选推荐文章 3159

【转】大话测试数据(一)

大话测试数据(一) 转自:skytraveler的 大话测试数据(一) 2015-11-17、 目录: 1 测试数据为什么重要2 测试数据的分类 2.1 从测试数据的生命周期角度划分 2.2 从业务角度来看数据划分 2.3 从测试数据来源来划分3 测试数据的生成过程 测试数据在整个测试过程中扮演着极为重要的角色,但是它却像个没有星象的演员,明明至少是男二号,但总是被...

weixin_34262482的博客 90

CAPL未来发展方向展望

通过本文的学习,读者应该对CAPL的未来发展方向有了初步的了解。随着汽车电子系统的不断发展,CAPL也在不断演进,以支持更多的技术和应用场景。希望读者能够通过不断的学习和实践,掌握更多的CAPL技巧,提高自己的开发能力。

闲人编程的博客 1182

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

上一篇: WFUZZ使用教程
下一篇: AWD线下备忘录
JBlock
博客等级 码龄9年 189粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值