IoT Fuzz论文调研
IoT领域有关Fuzz论文的汇总调研,随缘更新~ 主要关注模糊测试分析的IoT目标对象、白/灰/黑测试、模拟级别、基于工具等信息 论文名称 期刊会议 目标 模糊测试 模拟级别 基于工具 Firmadyne NDSS 2016 Linux服务 系统模拟 Firm-AFL USENIX 2019 Linux服务 灰盒 系统+用户模拟增强 QEMU,TriForce,DECAF FirmAE ACSAC 2020 Linux服务 系统模拟 EQUAFL ISSTA 2022 Linux服务 灰盒 用户模拟 QEMU Greenhouse USENIX 2023 Linux服务 灰盒 用户模拟 IoTFuzzer NDSS 2018 带App的IoT设备 黑盒 硬件设备 Diane SP 2021 带App的IoT设备 黑盒 硬件设备 P2IM USENIX 2020 裸机 黑盒 系统模拟 uEmu USENIX 2021 裸机 灰盒 系统模拟 Fuzzware USENIX...
Sok论文阅读
题目:SoK: Prudent Evaluation Practices for Fuzzing 期刊/会议:2024 IEEE Symposium on Security and Privacy (SP) 作者:Moritz Schloegel (CISPA) 论文简介对2018到2023年的有关fuzz的论文(150篇A类期刊)进行了总结,并且提出需要有一个更加精确谨慎的评估方法,确保成果工作的可重复性,可验证性 These case studies allow us to assess the practical reproducibility of fuzzing research and identify archetypal pitfalls in the evaluation design. Unfortunately, our reproduced results reveal several deficiencies in the studied papers, and we are unable to fully support and...
国内GPT中转配置方案
hello 国内GPT中转配置方案官网主页:https://api.bianxie.ai/ 软件/代码/插件接入使用便携AI聚合API需要两个数据: BASE_URL:有的软件里也叫API URL或者OPENAI_API_BASE,都是一个意思,就是说你从这个链接调用服务; API Key:就是令牌,以sk-开头的一长串字符。 客户端工具:https://github.com/Dooy/chatgpt-web-midjourney-proxy 配置BASE_URL和API_KEY即可直接使用 GPT API使用参考模版以一个调用LLM读取报文协议生成模糊测试初始化种子的demo为例 文件目录树: 12345678❯ tree .├── config│ ├── config.yaml│ └── prompts│ ├── generate_seeds.txt│ └── packet└── ...
Vim配置方案
Vim配置方案参考链接: Vim的终极配置方案,完美的写代码界面! ——.vimrc[通俗易懂] vim插件管理器:Vundle的介绍及安装(很全) 在~/.vimrc修改配置即可: 安装Vundle安装插件工具 1git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim 在~/.vimrc头部添加以下信息(下面的几个Plugin是例子): 12345678910111213141516171819202122232425262728293031323334353637383940414243set nocompatible " be iMproved, requiredfiletype off " required" set the runtime path to include Vundle and initializeset...
PromptFuzz论文阅读
题目:Prompt Fuzzing for Fuzz Driver Generation 期刊/会议:CCS 2024 作者:Hao Chen (腾讯Big data Lab) 论文简介主题:提出了一种新的基于提示词对库文件进行fuzz的方法。 背景:对标准库的fuzz存在几个难点 api函数覆盖度不够(hopper给予解决,但其种子的输入空间太大) 种子输入空间太大,如何生成高质量的种子才能进入到较深的分支。 整体架构: Instructive Program Generation:提取库的类型定义以及api函数定义,喂给大模型初步生成fuzz driver( Program Instance)。 Erroneous Program Validation:运行Program Instance(有fuzz语料库),去除错误程序(检查运行状态),同时获取代码覆盖率。 Coverage Guide Mutation:将其代码覆盖率反馈给大模型,对Program Instance进行变异,添加或删除api函数。 Constrained Fuzzer...
Kernel ROP入门学习
参考链接:a3大佬 01. Kernel ROP - basic所需要构造执行的ROPchain为commit_creds(prepare_kernel_cerd(&init_task))或commit_creds(&init_cred)(这个似乎更方便,要去找对应内核的源码,然后用ida打开vmlinux查看其对应位置) 当成功执行如上函数之后,当前线程的cred结构体便会变为init进程的cred的拷贝,也就获得了root权限,此时在用户态起一个shell便能获得root shell。 旧版本内核上所用的提权方法commit_creds(prepare_kernel_cred(NULL))已经不再能被使用,在高版本的内核当中prepare_kernel_cred(NULL)将不再返回一个root...
2025-05-16-CICSN_2017_babydriver学习
PWN kernel入门题。 环境配置题目地址:https://github.com/ctf-wiki/ctf-challenges/blob/master/pwn/kernel/CISCN2017-babydriver/babydriver.tar 解压后,文件目录结构如下: 12345678910111213❯ tree ..├── babydriver│ ├── boot.sh # 启动脚本│ ├── bzImage # 内核│ └── rootfs.cpio # 文件系统├── babydriver.i64├── babydriver.ko # 内核模块├── babydriver.tar├── cred # cred exp├── cred.c├── tty_struct # tty_struct exp└── tty_struct.c 进入babydriver目录,直接运行sudo ./boot.sh即可把内核跑起来 如果启动 boot.sh 失败,需要虚拟机开一下 虚拟化 Intel VT-x/EPT 或...
LLAMAFUZZ论文阅读
LLAMAFUZZ:通过对大模型进行微调让大模型获得生成以及变异结构化数据的能力,从而解决模糊测试中难以生成相关合法输入的问题。 概述目标对象:开源库,结构化数据(如PNG) 贡献: 通过微调大模型可以实现对二进制数据和文本数据的变异策略加强。 使用大模型(优于通用大模型以及专用大模型),可以学习结构化数据种子模版以及进行变异 证明了这种方法的有效性 效果: 优于AFL++,相比于当前的主流Fuzzer在benchmark上可以多发现41个漏洞,同时代码覆盖率提高了27.19% 论文里提到了Grammar-based fuzzing,其中输入格式由人工指定,变异策略分为三种:1)随机变异,随机选择一个非叶子节点(non-leaf non terminal...
Netgear RAX30 固件分析
分析对象 型号:Netgear RAX30 固件版本:1.0.9.92 CVE-2023-35722 分析 该漏洞允许网络邻近的攻击者在受影响的NETGEAR RAX30路由器上执行任意代码。利用此漏洞不需要身份验证。具体漏洞存在于UPnP端口映射请求的处理中。问题在于在使用用户提供的字符串执行系统调用之前,缺乏对其进行适当验证。攻击者可以利用此漏洞以root的身份执行代码。漏洞编号为ZDI-CAN-20429。 因为该漏洞影响版本为Up to (excluding)...
pwn protobuf环境搭建
对protobuf类型题目的环境搭建 安装protobuf下载:https://github.com/protocolbuffers/protobuf/releases 根据其readme.txt安装即可 报错: 1234❯ protoc --c_out=./heapProto.h ./heap.protoprotoc-gen-c: program not found or is not executablePlease specify a program using absolute path or make sure the program is available in your PATH system variable--c_out: protoc-gen-c: Plugin failed with status code 1. 缺少依赖 1sudo apt install...