一直对于fuzz甚是忽略,导致错过了很多漏洞。

fuzz是个很神奇的东西,我觉得这应该归于信息收集的范畴,利用已有的大佬经验字典去与各种各样的场景相碰撞,最后成功到达大佬曾经获取漏洞的场景。

利用字典:https://github.com/TheKingOfDuck/fuzzDicts

其实目录扫描的工具也相当于是一个fuzz的过程,能够fuzz出一些前人以前访问到的功能点目录。

再者暴力破解也是fuzz的过程,fuzz用户名和密码

啊我错过了1e个洞。

当然最早接触到fuzz是在ctf的sql注入题目上,需要先使用burp的爆破模块fuzz下过滤了哪些特殊字符再进行绕过注入,本文不再讲诉那些,谈一些更多跟挖洞有关的场景。

下面看一下真实场景(本文实例均学习自网上文章,最后会附上原文链接)

无中生有

1.隐藏的注册

当我们成功探测到某目录下存在/register接口时,而系统默认不允许支持注册用户时候,这时候我们可以通过fuzz把隐藏的注册接口找出来,例如下面:

1

这个时候我们就需要想了是不是什么参数没有传递,于是构造fuzz的json格式参数进行发包,根据响应包的状态码来fuzz得到正确的结果。

加入最后得到uname和pwd

这个时候我们再加上这两个参数和pwd进行发包说不定就能成功注册一枚账户了!

2.隐藏的上传接口

当我们目录扫描出upload目录却无法上传时,我们也可以猜测是否存在上传功能点但未写前端,这个时候可以使用payload构造上传html:

<form action="地址" method="post" enctype="multipart/form-data" >
    <input type="file" name="Filedata"/>
    <input type="submit" value="提交"/>
</form>

当时即使是这样还是有可能上传不了,因为构造的html表单的name不对,这时候也需要BP抓包对file的name进行fuzz

常见的file-表单name-fuzz:远海大佬

3.未发现的Jsonp接口

假若获得了一个敏感信息返回的请求端点:http://xxx/getInfo

就可以使用callback_dict.txt字典进行Fuzz

下面的直接用key大佬博客的图:

2

最后经过fuzz成功发现了callback这个参数:

3

无中生有的fuzz实在是tql,膜拜师傅们。

狸猫换太子

1.响应变请求

参考文章:key师傅