hu1y40's blog

hu1y40'blog
天堂的穹空遍布地狱之火的颜色,但也是天堂。
  1. 首页
  2. FUZZ
  3. 正文

Fuzzing101 7

2023年10月7日 1208点热度 0人点赞 0条评论

libtiff

0x00 环境准备

本实验均使用项目自带的虚拟机。

0x01 实验

1.1 环境准备

目录创建

cd $HOME
mkdir fuzzing_vlc && cd fuzzing_vlc

下载vlc-3.0.7.1

wget https://download.videolan.org/pub/videolan/vlc/3.0.7.1/vlc-3.0.7.1.tar.xz
tar -xvf vlc-3.0.7.1.tar.xz && cd vlc-3.0.7.1/

安装依赖:

sudo apt-get install git build-essential
sudo apt-get install pkg-config libtool automake
sudo apt-get install autopoint gettext

sudo apt-get install libxcb-shm0-dev libxcb-xv0-dev
sudo apt-get install libxcb-keysyms1-dev libxcb-randr0-dev
sudo apt-get install libxcb-composite0-dev

sudo apt-get --no-install-recommends build-dep vlc
# 一般source.list 会把deb-src注释掉,记得去掉注释

配置编译选项,并编译

./configure --prefix="$HOME/fuzzing_vlc/vlc-3.0.7.1/install" --disable-a52 --disable-lua --disable-qt
make -j$(nproc)

下载样本

wget https://github.com/antonio-morales/Fuzzing101/blob/main/Exercise%207/InputCorpus/short2.wmv
wget https://github.com/antonio-morales/Fuzzing101/blob/main/Exercise%207/InputCorpus/veryshort.wmv

对函数进行patch以使用持久模式。

wget https://github.com/antonio-morales/Fuzzing101/blob/main/Exercise%207/fuzzing_harness.patch
patch -p1 < ./fuzzing_harness.patch
# 在这里,-p1 表示去掉补丁文件中的第一级目录路径。< path/to/patchfile.patch 表示从文件中读取补丁内容。

重新编译该文件。

make vlc-demux-run -j$(nproc) LDFLAGS="-fsanitize=address"

配置AFL_LLVM_ALLOWLIST告诉哪些部分需要插桩:

wget https://github.com/antonio-morales/Fuzzing101/blob/main/Exercise%207/Partial_instrumentation

重新编译vlc

CC="afl-clang-fast" CXX="afl-clang-fast++" ./configure --prefix="$HOME/fuzzing_vlc/vlc-3.0.7.1/install" --disable-a52 --disable-lua --disable-qt --with-sanitizer=address
AFL_LLVM_ALLOWLIST=$HOME/fuzzing_vlc/vlc-3.0.7.1/Partial_instrumentation make -j$(nproc) LDFLAGS="-fsanitize=address"

构建 fuzzing harness:

cd test
make vlc-demux-run -j$(nproc) LDFLAGS="-fsanitize=address"
cd ..

1.2 FUZZING

-t参数根据配置来

afl-fuzz -t 100 -m none -i './afl_in' -o './afl_out' -x asf_dictionary.dict -D -M master -- ./test/vlc-demux-run @@

结果是我启动fuzzing即崩溃,后来加选项忽略了问题,启动了,但是我感觉这不是正确的解决方法。

1.3 分析

由于虚拟机崩了没保存crash,且我跑了好多天只有hangs,个人认为只是超时设置的原因,所以不做分析了,读完afl源码再回来看看。

 

标签: FUZZ
最后更新:2023年10月7日

hu1y40

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复
文章目录
  • libtiff
    • 0x00 环境准备
    • 0x01 实验
      • 1.1 环境准备
      • 1.2 FUZZING
      • 1.3 分析

分类目录

  • 0day安全
  • Bypass
  • C++Prime
  • CTF
  • DoS
  • DoS
  • FUZZ
  • iot
  • JSONP
  • MISC
  • MISC
  • PHP伪协议
  • Python
  • REVERSE
  • sqli-labs
  • SQL注入
  • Trick
  • UAF
  • WEB
  • WEB
  • XXE
  • 书籍阅读
  • 二进制
  • 代码阅读
  • 信息搜集
  • 信息泄露
  • 加密与解密
  • 双重释放漏洞
  • 反序列化
  • 命令执行
  • 命令执行
  • 堆溢出
  • 密码学
  • 弱加密
  • 提权漏洞
  • 整数溢出
  • 文件上传
  • 未分类
  • 栈溢出
  • 格式化字符串漏洞
  • 模型
  • 汇编语言
  • 渗透测试
  • 漏洞分析
  • 漏洞利用
  • 漏洞战争
  • 漏洞挖掘
  • 病毒分析
  • 越界读取
  • 路径遍历
  • 逻辑漏洞
  • 配置不当
  • 钓鱼
  • 靶场
最新 热点 随机
最新 热点 随机
加密算法 2023年度总结 RTSPServer StackOverflow Vulnerability FUZZ 总览篇 MP4Box 无限循环漏洞 CVE-2023-40477 Winrar RCE漏洞分析
0day安全 第16-20章总结 bugku where_is_flag bugku 想要种子吗 bugku 富强民主 0day安全 第10章实验 bugku come_game

COPYRIGHT © 2023 hu1y40's blog. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鄂ICP备2021009673号-1