Fuzz

Fuzz

含义

  • 是一种基于黑盒的自动化软件模糊测试技术,简单的说一种懒惰且暴力的技术融合了常见的以及精心构建的数据文本进行网站、软件安全性测试。

Fuzz 的核心思想

  • 口令 Fuzz (弱口令)
  • 目录 Fuzz (漏洞点)
  • 参数 Fuzz (利用参数)
  • PayloadFuzz(Bypass)

Fuzz 应用场景:

  • 爆破用户口令
  • 爆破敏感目录
  • 爆破文件地址
  • 爆破未知参数名
  • Payload 测漏洞(绕过等也可以用

在实战黑盒中,目标有很多没有显示或其他工具扫描不到的文件或目录等,我们就可以通过大量的字典 Fuzz 找到的隐藏的文件进行测试。

BP工具

jsEncrypter

GitHub 下载地址:https://github.com/c0ny1/jsEncrypter

使用方式:

  1. 修改插件目录下的 phantomjs_server.js

    • 修改加载实现加密算法的 js 脚本,需要将网站加密使用的 js 文件直接下载保存下来

    • 修改处理函数

      fb8923b34b6b9aa0c5ff855e59697ae0

  2. 运行脚本,开启端口

    1
    phantomjs .\phantomjs_server.js
  3. 配置插件,连接测试

    620bd1bbf038b32bab9fd3bcbe2dc3d5

  4. 然后在爆破模式下选择模块时选择 Invoke Burp extension,选择 jsEncrypter 后,进行爆破,参数就会经过 js 中的算法加密后发送

BurpCrypto

GitHub 下载地址:https://github.com/whwlsfb/BurpCrypto

使用方式:

  1. 若知道是什么加密算法,且知道密钥和偏移量,那么直接使用即可,添加 processor,然后在爆破模式下,选择模块时选择 Invoke Burp extension,然后选择自己取名的 processor 即可

    5a5eeb569695d0c3a281e69e3839af3f

  2. 若是不知道是什么加密,但有 js,可以将其放到 Exec Js 中进行执行,然后定义一个函数返回加密后的值即可,然后添加 processor,同样在爆破模式下,选择模块时选择 Invoke Burp extension,然后选择自己取名的 processor 即可

    ee864f60fa01f76a6af954c7f9bce95e

    • 如果这里弄好之后爆破时没有正常爆破,或者没有加密,可以将右下角 JS 引擎换为别的进行尝试

文件探针

简介

  • Fuzz 即为盲猜,暴力访问未知的目录或者文件
  • 使用 bp,采用字典爆破目录路径和文件

思路

对于www.exemple.com

  1. 通过fuzz扫描出admin/admin.php。
  2. 接着可以对于www.exemple.comadmin/admin.php?a=1中的a进行爆破参数名,进行传参。
  3. 最后如果成功跑出参数名即成功。

注意

被爆破的页面需要存在返回,如何不存在返回即数据长度一致,便无法达到预期。