快捷导航

ffuf:Go语言编写的高速Web Fuzzer

[复制链接]
查看: 658|回复: 0

3万

主题

0

帖子

234

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
234
发表于 2019-6-1 00:00:00 | 显示全部楼层 |阅读模式

               
        ffuf是一款Go语言编写的高速Web Fuzzer工具,该项目深受大型项目gobuster和wfuzz的启发。


[h1]
        特性
[/h1]

        一个字,快!



        允许fuzz HTTP header值,POST数据和URL的不同部分,包括GET数名称和值;



        支持静默模式(-s);



        模块化架构;



        易于添加的过滤器和匹配器。


[h1]
        安装
[/h1]

        从releases页面下载预构建的二进制文件,解压缩并运行。



        如果你已经安装了编译器,则可以通过以下命令进行安装:

  1. go get github.com/ffuf/ffuf
复制代码


        ffuf的唯一依赖项是Go 1.11。不需要Go标准库之外的依赖项。


[h1]
        使用
[/h1]

        要定义ffuf的测试用例,请在URL(-u),headers(-H)或POST数据(-d)中的任意位置使用关键字FUZZ。

  1. -D        DirSearch style wordlist compatibility mode. Used in conjunction with -e flag. Replaces %EXT% in wordlist entry with each of the extensions provided by -e.
  2. -H "Name: Value"
  3.            Header "Name: Value", separated by colon. Multiple -H flags are accepted.
  4. -V Show version information.
  5. -X string HTTP method to use (default "GET")
  6. -ac
  7.            Automatically calibrate filtering options
  8. -c Colorize output.
  9. -d string POST data.
  10. -e string Comma separated list of extensions to apply. Each extension provided will extend the wordlist entry once.
  11. -fc string Filter HTTP status codes from response
  12. -fr string Filter regexp
  13. -fs string Filter HTTP response size -fw string Filter by amount of words in response
  14. -k TLS identity verification
  15. -mc string Match HTTP status codes from respose, use "all" to match every response code. (default "200,204,301,302,307,401,403")
  16. -mr string Match regexp
  17. -ms string Match HTTP response size -mw string Match amount of words in response
  18. -o string Write output to file -of string Output file format. Available formats: json, csv, ecsv (default "json")
  19. -p delay
  20.            Seconds of delay between requests, or a range of random delay. For example "0.1" or "0.1-2.0" -r        Follow redirects
  21. -s Do not print additional information (silent mode)
  22. -sa Stop on all error cases. Implies -sf and -se
  23. -se Stop on spurious errors -sf Stop when > 95% of responses return 403 Forbidden
  24. -t int Number of concurrent threads. (default 40)
  25. -timeout int HTTP request timeout in seconds. (default 10)
  26. -u string Target URL -w string Wordlist path -x string HTTP Proxy URL
复制代码


        例如:

  1. ffuf -u https://example.org/FUZZ -w /path/to/wordlist
复制代码

[h1]
        实例
[/h1]
[h2]
        典型目录发现
[/h2]

       




        视频演示:https://asciinema.org/a/211350



        在URL(-u)末尾使用FUZZ关键字:

  1. ffuf -w /path/to/wordlist -u https://target/FUZZ
复制代码


        虚拟主机发现(没有DNS记录)



       




        视频演示:https://asciinema.org/a/211360



        假设默认的虚拟主机响应大小为4242字节,我们可以过滤掉该大小的所有响应(-fs 4242),同时fuzz主机 – header:

  1. ffuf -w /path/to/vhost/wordlist -u https://target -H "Host: FUZZ" -fs 4242
复制代码

[h2]
        GET参数fuzz
[/h2]

        GET参数名称模糊测试与目录发现非常相似,通过将FUZZ关键字定义为URL的一部分来工作。对于无效的GET参数名,这里也假设响应大小为4242字节。

  1. ffuf -w /path/to/paramnames.txt -u https://target/script.php?FUZZ=test_value -fs 4242
复制代码


        如果参数名称已知,则可以以相同方式对值进行模糊测试。此示例假定返回HTTP响应代码401的参数值错误。

  1. ffuf -w /path/to/values.txt -u https://target/script.php?valid_name=FUZZ -fc 401
复制代码

[h2]
        POST数据fuzz
[/h2]

        这是一个非常简单的操作,同样使用FUZZ关键字。此示例仅对POST请求的一部分进行模糊测试。我们再次过滤掉401响应。

  1. ffuf -w /path/to/postdata.txt -X POST -d "username=admin\&password=FUZZ" https://target/login.php -fc 401
复制代码


        *参考来源:GitHub,FB小编secist编译,转自FreeBuf

                               
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩推荐

让创业更简单

  • 反馈建议:hackhl@outlook.com
  • 客服电话:暂时没有
  • 工作时间:周一到周五9点~22点

云服务支持

黑客联盟,快速搜索

关注我们

Copyright 黑客联盟安全防护网  Powered by©  技术支持:    ( 闽ICP备18000419号-1 )