AFL++fuzz测试路由器固件过程记录

afl++下载:

网上有很多,用命令行下载即可,最后打开大概是这样

使用的路由器固件:tenda AX12 V.10 升级软件 V22.03.01.46

binwalk -ME US_AX12V1.0in_V22.03.01.46_cn_TDC01.bin

命令直接解包.bin文件,解包后选择固件进行fuzz测试

在squashfs-root中有bin文件、sbin文件、usr/bin文件、usr/sbin文件

  1. bin 文件夹:通常包含可执行文件,即二进制程序文件,用于执行各种系统命令和程序。
  2. sbin 文件夹:与 bin 类似,但通常包含的是系统管理员使用的系统命令,需要超级用户权限才能执行。
  3. usr/bin 文件夹:包含用户安装的应用程序的可执行文件。
  4. usr/sbin 文件夹:包含用户安装的系统管理员应用程序的可执行文件,需要超级用户权限才能执行。

注意我们之后的模糊测试很多要在root权限下才能做

【AFL(一)】入门小白第一次测试 

在网上找的最简单的AFL入门测试先练练手

afl-fuzz -i fuzz_in -o fuzz_out ./afl_test 

比较重要的一条命令↑,看到我们的fuzz运行界面如下,给我们显示了很多重要的信息,圈红框的在实时跳动着:

  1. process timing

    • run time: 已经运行的时间。
    • last new find: 上一次找到新的漏洞或问题的时间。
    • last saved crash: 上一次保存崩溃日志的时间。
    • last saved hang: 上一次保存挂起状态的时间。
  2. overall results:

    • cycles done: 已经完成的测试周期数量,颜色从红变蓝变绿,意味着有效测试越来越少了。
    • corpus count: 初始测试用例的数量。
    • saved crashes: 已经保存的崩溃数量。
  3. cycle progress:

    • now processing: 当前测试周期进度。
    • runs timed out: 运行超时的次数。
  4. map coverage:

    • map density: 代码覆盖率,即已经执行的代码路径占总代码路径的比例。
    • count coverage: 达到的代码路径数量。
  5. stage progress:

    • now trying: 当前测试阶段(例如,havoc表示在关键位置插入随机变异)。
    • stage execs: 在当前阶段执行的测试次数。
    • total execs: 总测试次数。
    • exec speed: 每秒执行的测试次数,在500以下就算很慢了,应该找寻更好的测试方法
  6. fuzzing strategy yields:

    • 不同的模糊测试策略的结果。例如,位翻转、字节翻转、算术操作等。
    • pending: 待处理的测试项数量。
    • pending favored: 待处理的受欢迎(即高概率导致崩溃的)测试项数量。
  7. strategy: exploit:

    • 模糊测试的策略,可能包括利用已知漏洞进行深入测试。
  8. 其他信息:

    • 崩溃的总数、已保存的崩溃的数量和超时的总数。
    • CPU 使用率。

接下来摸索动态插桩QEMU(quick emulator快速仿真)模式的使用:

报错:no instrumentation detected 没找到插桩

参考资料:

基于模糊测试的分布式数据库安全研究(三)——afl-cmin、afl-tmin_afl-cmin和afl-tmin使用-CSDN博客

 

  • 13
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值