参考搭建环境:Boofuzz协议漏洞挖掘入门教程与使用心得
参考跑个例子:使用boofuzz进行漏洞挖掘(一)
例子解析:使用boofuzz进行漏洞挖掘(二)
一、环境搭建
从源码部署boofuzz
创建目录
mkdir ~/work_dir/boofuzz-F
git clone http://www.github.com/jtpereyda/boofuzz
cd boofuzz
shell脚本,或者手动执行命令进行安装,安装虚拟环境env
#!/bin/bash
sudo echo
sudo apt-get install -y python3-pip \
python3-venv \
build-essential
pip install -U pip setuptools
pip install pcapy impacket wheel
cd ~/work_dir/boofuzz-F
python3 -m venv env
source env/bin/activate
pip install -e .[dev]
二、跑个例子
进入examples中我们先编辑和运行第一个例子(FUZZ ftp服务)就像你第一次写代码那样hello world!那样。 vim ftp-simple.py
cd boofuzz/examples
vim ftp-example.py
from boofuzz import *
def main():
session = Session(target= Target(connection=SocketConnection("127.0.0.1", 21, proto='tcp')))
s_initialize("user")
s_string("USER")
s_delim(" ")
S_string("anonymous")
s_static("lrln")
s_initialize("pass")
s_string("PASS")
s_delim(" ")
S_string("james")
s_static("lrln")
s_initialize("stor")
s_string("STOR")
s_delim(" ")
s_string("AAAA")
S_static("lrln")
s_initialize("retr")
s_string( "RETR")
s_delim(" ")
s_string("AAAA")
s_static("\r\n")
session.connect(s_get("user"))
session.connect(s_get("user"), s_get("pass"))
session.connect(s_get("pass"), s_get("stor") )
session.connect(s_get("pass"), s_get("retr") )
session.fuzz()
if __name__ == "__main__":
main()