Sec Hotspot 首页  排行榜  收藏本站  技术博客  RSS
统计信息
已收录文章数量:15853 篇
已收录公众号数量:90 个
本站文章为爬虫采集,如有侵权请告知
本周热门文章
Dibrary 第二季——好书推荐预告   2020.11.26 17:54:30  33
我拿到月薪3W的offer了   2020.11.29 22:20:04  31
CVE-2019-11580 RCE漏洞分析   2020.11.29 15:01:02  31
千万别把钱放在余额宝里!!!   2020.11.27 19:00:58  31
CVE-2020-14882​&14883:Weblogic RCE复现   2020.11.27 17:40:52  31
MySQL 漏洞利用与提权   2020.11.24 15:00:30  31
天融信科技集团正式完成公司更名   2020.11.26 10:45:21  30
已收录微信公众号
网安寻路人 网信中国 区块链大本营 白说区块链 区块链投资家 区块链官微 区块链铅笔Blockchain HACK学习呀 二道情报贩子 合天智汇 小白帽学习之路 小米安全中心 弥天安全实验室 SAINTSEC SecPulse安全脉搏 TideSec安全团队 360安全卫士 游侠安全网 计算机与网络安全 安全祖师爷 安全学习那些事 腾讯安全联合实验室 黑客技术与网络安全 安全圈 腾讯御见威胁情报中心 Python开发者 Python之禅 编程派 Python那些事 Python程序员 安全威胁情报 吾爱破解论坛 行长叠报 安在 i春秋 嘶吼专业版 E安全 MottoIN 网信防务 网安杂谈 数说安全 互联网安全内参 漏洞战争 安全分析与研究 邑安全 ChaMd5安全团队 天融信阿尔法实验室 安全牛 SecWiki 安全学术圈 信安之路 漏洞感知 浅黑科技 Secquan圈子社区 奇安信集团 奇安信 CERT 国舜股份 雷神众测 盘古实验室 美团安全应急响应中心 瓜子安全应急响应中心 顺丰安全应急响应中心 蚂蚁金服安全响应中心 携程安全应急响应中心 滴滴安全应急响应中心 字节跳动安全中心 百度安全应急响应中心 腾讯安全应急响应中心 网易安全应急响应中心 OPPO安全应急响应中心 京东安全应急响应中心 Bypass CNNVD安全动态 安恒应急响应中心 天融信每日安全简报 奇安信威胁情报中心 看雪学院 黑白之道 水滴安全实验室 安全客 木星安全实验室 云鼎实验室 绿盟科技安全预警 白帽汇 深信服千里目安全实验室 腾讯玄武实验室 长亭安全课堂 FreeBuf 绿盟科技 nmask
Frida框架在Fuzzing中的应用
本文来自公众号:漏洞战争   2019.11.30 12:23:48


由于 Frida https://frida.re )动态插桩框架的跨平台、简单易用,现在已经被广泛应用于安全领域。相比 Xposed 而言,虽不能更底层地去Hook系统进程,但它可以免启动,应对App的hook完全够用,更关键的是,它完全可以用JavaScript来写代码,免去编译的烦恼,调试也方便。

之前在工作中,也就用 Frida 去Hook Android与iOS应用来做安全测试,效果挺好的,开发起来也挺高效的。本文主要围绕Fuzzing领域,来分析和记录最近一些使用 Frida 的Fuzzer。

定制型Fuzzer

Frida 来Fuzzing APP的方法,首先推荐Project Zero大神写的 Adventures in Video Conferencing 系列博文,详细介绍了Hook WhatApps和iMessage的输入数据处理函数并进行Fuzzing的方法,同时也开源了Hook iMessage的工具: https://github.com/googleprojectzero/iOS-messaging-tools/tree/master/iMessage ,提供dump和发送消息的功能,自己在额外构造变异数据去Fuzzing。

这种方式特别适用于拥有私有的定制协议或数据格式的APP Fuzzing,只是需要花时间去逆向分析程序的输入数据解析流程,找到关键的处理函数。

通用型Fuzzer

最近又看到两款使用 Frida 的Fuzzer,出自同一人之手,用 Python JS 写的,代码量不多:

  1. frida-js-afl-instr( https://github.com/andreafioraldi/frida-js-afl-instr ):打通 AFL++ Frida 实现内存Fuzzing的工具,仅限Linux平台

  2. frida-qbdi-fuzzer( https://github.com/andreafioraldi/frida-qbdi-fuzzer ):基于 Frida QBDI 的Android Fuzzer,借鉴AFL的代码覆盖引导思路,实现Android平台下闭源程序的覆盖引导Fuzzing。

下面直接画时序图来看它的原理,就不贴源码分析了:

frida-js-afl-instr原理图

frida-qbdi-fuzzer原理图

总结

用Frida来实现闭源程序的代码覆盖引导,代码量很少,以Python和JS就可以快速开发起来,但涉及到python等进程的启动,肯定没有纯C/C++的代码运行速度快,但对于Fuzzing,一般还是够用的,还是值得学习和使用的。