使用Python语言编写的Fuzzing第三方框架
Kitty是一款用Python语言编写的开源的模块化、可扩展的模糊测试框架,灵感来源于OpenRCE's Sulley 和 Michael Eddington的 (现在为Deja Vu Security的) Peach Fuzzer 。
我们开始写Kitty的时候,目的是帮助我们fuzz特殊的目标。也就就是运行于非TCP/IP通道上的私有和内部协议。
一个通用、抽象的框架应该包含所有我们能想到的模糊测试过程中用到的所有通用功能,并且能方便用户扩展,以便用来攻击特定目标。
它的特性
心中有了这样的目标,以下的特性就非常重要:
- 模块性:fuzzer的每一个部分都是独立的,这意味着你能够用相同的监视代码监控不同的程序,用相同的载荷生成工具(aka Data Model)生成的数据可以在不同的信道中传递;
- 扩展性:如过你想测试新的东西,不需要修改Kitty的核心代码。即便不是所有,大部分功能应该在用户代码中实现。这包括监视,控制以及和被fuzz的目标的通信;
- 丰富的数据模型:数据模型的核心要丰富,能够描述高级的数据结构,包括字符串,哈希,长度,条件及其它。而且和其它框架一样,还要设计好,将来需要的时候可以扩展;
- 状态性:支持多阶段的模糊测试。不仅要能描述单独消息的载荷应该是什么样,还要能描述消息的顺序,甚至按照顺序进行fuzzing;
- 客户端和服务端fuzzing:假设你有一个配对的程序栈,你可以对服务端和客户端进行fuzz。这听起来是一个很高的要求,但实际上不是:只需要你像通常一样能够和目标通信即可;
- 跨平台:可以在Linux,OS X和Windows上运行。
它不是XX 好吧,Kitty不是一个模糊测试器。它包含了还未实现的特定的协议或者通信通道。你可以用它写一个自己的模糊测试器,你同样可以用其它的基于Kitty的代码,但是它不是一个开箱即用的模糊测试器。获取Kitty模型实现的一个好去处是Katnip。
Katnip
Kitty,作为一个框架,实现了模糊测试器的主循环,并且提供了用于创建一个完整的fuzzing会话所需要的数据模型和基类的语法。
然而,特定类的实现并不是Kitty框架的一部分。这意味着,Kitty定义了与目标进行数据传递的接口和基类,但是没有提供HTTP,TCP或者UART之上的数据传输实现。各种类的实现可以在附赠的软件仓库Katnip Github中找到。 推荐: [北京]Python Web工程师实习生 北京]高薪加期权招资深Python开发工程师
玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/news/a5776.html
相关文章 Recommend
必知PYTHON教程 Must Know PYTHON Tutorials
- • python 解释器
- • python idle
- • python dir函数
- • python 数据类型
- • python type函数
- • python 字符串
- • python 整型数字
- • python 列表
- • python 元组
- • python 字典
- • python 集合
- • python 变量
- • python print
- • python 函数
- • python 类定义
- • python import
- • python help
- • python open
- • python 异常处理
- • python 注释
- • python continue
- • python pass
- • python return
- • python global
- • python assert
- • python if语句
- • python break
- • python for循环
- • python while循环
- • python else/elif
- • lambda匿名函数
必知PYTHON模块 Must Know PYTHON Modules
- • os 模块
- • sys 模块
- • re 正则表达式
- • time 日期时间
- • pickle 持久化
- • random 随机
- • csv 模块
- • logging 日志
- • socket网络通信
- • json模块
- • urlparse 解析URL
- • urllib 模块
- • urllib2 模块
- • robotparser 解析
- • Cookie 模块
- • smtplib 邮件
- • Base64 编码
- • xmlrpclib客户端
- • string 文本
- • Queue 线程安全
- • math数学计算
- • linecache缓存
- • threading多线程
- • sqlite3数据库
- • gzip压缩解压
最新内容 NEWS
- • 2019年3月最新消息: Python 3.4.10 现已推出
- • 支付宝官方给力福利!每天可领1个红包,
- • Dino Esposito CQRS 消息以及事件看法
- • 树莓派 raspi驱动LoRaWAN基站
- • Kuzzle内部部署文档后端
- • Java 9跳票 发布时间将迟至2017年3月
- • iOS Apple 停止Ad 广告业务
- • Microsoft UWP上支持React Native
- • Angular移动工具集Web应用原生感觉
- • Windows 10周年更新Edge浏览器支持扩展
图文精华 RECOMMEND
-
支付宝官方给力福利!每天可领
-
选择Python而不选择Go语言的原因
-
Python相关的软件团队未来离不开
-
Ubuntu磁盘缓存模块提供 缩略图服
-
Python程序员,2016一起告别码农!
-
为什么企业很难招聘到好的pytho
热点文章 HOT
- 支付宝官方给力福利!每天可领1个红包,
- 使用Python语言编写的Fuzzing第三方框架
- 超级QQ这个服务有可能会整合到QQ普通会员
- 正在创业者的你是否在经历O2O的那些坑
- 索尼PlayStation TV机顶盒650RMB左右
- 你N年前可想到今天的迅雷股价如此之高
- 阿里集团的公共DNS正式发布:223.5.5.5 223.
- Apache Qpid Python 最新1.35.0 版本发布