Fuzz的那些事
Fuzz这个词汇行内的都懂,fuzz工具我就不多说了。
今天,说说fuzz前的准备工作--如何对软件进行修改实现可自动化和无人值守fuzz.
很多软件会有试用期、弹窗、覆盖提示、人机交互等等,这些都会造成无人值守的fuzz平台无法继续。
1.对于 注册激活提醒弹窗,我们可以直接爆破掉验证函数,也可以分析注册流程,写注册机。
2.对于解压缩这种软件可能会出现覆盖提示,如果程序中有设置最好了;如果可以爆破提示框,这样也行,但是对于提示框,选项超级多的时候就麻烦了,分析每个按钮,下拉列表功能,就太麻烦吗;面对这种
情况,我给程序添加了新节,并修改了OEP,在新节中放入shellcode,shellcode功能是根据传入的命令行,找到要解压的路径,遍历清空要解压到的文件夹,这样就不会提示覆盖了。(我遇到的情况比这个还复杂)
记录下详情:1.添加节: 利用zeroadd.exe,网上有,随便添加个节。2.修改新节属性为可读可写可执行:利用exescope工具找到新节属性位置(Section Flags ),并看看其他text节的属性,利用hexworkshop工具,利用ctrl+g功能快速找到属性所在位置,修改成和text节一样的属性即可。3:将shellcode复制到新节位置:利用hexworkshop工具,快速地位到新节在文件中的位置(Pointer to Raw Data ) ,直接利用hexeworkshop打开shellcode的bin文件,复制粘贴过来就行。4,别忘记修改新节点的大小,大小一定要比shellcode大,如果太小,会造成shellcode无法完全载入到内存中,Virtual Size 和 size of raw data 都要修改一般都是200 400 800 这种。5.修改OEP:OEP位于optional header 中的Entry Point RVA 直接修改为新节 RVA/Offse属性值,就行,还是利用hexworkshop快速定位OEP位置修改保存 。6.跳回真正的OEP:保留个源程序的副本,od跟踪下真正的地址记录下来,shellcode要预留jmp xxxx 的空间,先预留几个nOp,使用od跟踪,在shellcode执行完 将预留的Nop 就改为jmp 记录的真正OEP地址(别忘记修复堆栈平衡)利用od的保存工嗯那个将文件保存下来。
Fuzz的那些事的更多相关文章
- 【腾讯Bugly干货分享】H5 视频直播那些事
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57a42ee6503dfcb22007ede8 Dev Club 是一个交流移动 ...
- CSharpGL(31)[译]OpenGL渲染管道那些事
CSharpGL(31)[译]OpenGL渲染管道那些事 +BIT祝威+悄悄在此留下版了个权的信息说: 开始 自认为对OpenGL的掌握到了一个小瓶颈,现在回头细细地捋一遍OpenGL渲染管道应当是一 ...
- TODO:字节的那点事Go篇
TODO:字节的那点事Go篇 (本文go version go1.7.3 darwin/amd64) 在Golang中string底层是由byte数组组成的. fmt.Println(len(&quo ...
- Microsoft Visual Studio 2013 — Project搭载IIS配置的那些事
前段时间在改Bug打开一个project时,发生了一件奇怪的事,好好的一直不能加载solution底下的这个project,错误如下图所示:大致的意思就是这个project的web server被配置 ...
- OpenNLP:驾驭文本,分词那些事
OpenNLP:驾驭文本,分词那些事 作者 白宁超 2016年3月27日19:55:03 摘要:字符串.字符数组以及其他文本表示的处理库构成大部分文本处理程序的基础.大部分语言都包括基本的处理库,这也 ...
- HTTPS那些事(一)HTTPS原理
转载来自:http://www.guokr.com/post/114121/ 谣言粉碎机前些日子发布的<用公共WiFi上网会危害银行账户安全吗?>,文中介绍了在使用HTTPS进行网络加密传 ...
- 做一个 App 前需要考虑的几件事
做一个 App 前需要考虑的几件事 来源:limboy的博客 随着工具链的完善,语言的升级以及各种优质教程的涌现,做一个 App 的成本也越来越低了.尽管如此,有些事情最好前期就做起来,避免当 ...
- Ctrl-A全选这点事(C#,WinForm)
所有的文本框,不管单行多行都Ctrl-A全选就好了吧?是啊,很方便.Windows的软件基本都是这样.可为什么我们自己制作的WinForm就默认不是这样呢?谁知道呢,可能是WinForm饱受诟病,要改 ...
- 使用Bandwagon的VPS第一件事《FQ》
说点闲话:昨天的长靴子到了,哎呀,今天那个高兴,踩着我的8厘米的过膝靴就出门上专业外语去了,扎了个麻花辫子,那个心情好哟,搞得我都不想继续学习linux平台上的C语言了,好想逛街----秀秀我的鞋子, ...
随机推荐
- 安卓中級教程(10):@InjectView
package com.example.android.db01; import android.app.Activity; import android.content.ContentValues; ...
- Maven环境搭建
1,下载maven zip版 http://maven.apache.org/download.cgi 2,配置maven环境变量 (1) 新建MAVEN_HOME环境变量 E:\TOOLS\A ...
- sqlite在火狐中安装及使用
1.SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中.它是D.RichardHipp建立的公有领域项目.它的设计目标是嵌入式的,而且目前已经在很多嵌入 ...
- 开发者所需要知道的 iOS 10 SDK 新特性
转自:https://onevcat.com/2016/06/ios-10-sdk/ 写的很好啊.哈哈哈 总览 距离 iPhone 横空出世已经过去了 9 个年头,iOS 的版本号也跨入了两位数.在我 ...
- input range样式更改,模拟滑块
input range 样式更改,js模拟滑块实时更新数据. 效果图: html 代码: <div> <span class="slider"></s ...
- oracle从零开始学习笔记 三
高级查询 随机返回5条记录 select * from (select ename,job from emp order by dbms_random.value())where rownum< ...
- Java web学习filter (1)
一.概念:Filter也称之为过滤器,它是Servlet技术中比较激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源: 例如Jsp, Servlet, 静态图片文件 ...
- OC ---- 字典集合 iOS学习-----细碎知识点总结
实例方法的创建 NSDictionary *wukong = [[NSDictionary alloc] initWithObjectsAndKeys:", @"age" ...
- Ms sql 2005 中的bit 数据类型
bit 整型数据 1.0 或 NULL(在表中的表现形式). 注释: 不能对 bit 类型的列使用索引. Microsoft® SQL Server™ 优化用于 bit 列的存储.如果一个表中有不多于 ...
- C#类继承和接口继承时一些模棱两可的问题[转]
原文地址:http://www.cnblogs.com/harleyhu/archive/2012/11/29/2794809.html 1.在father定义的方法若含有virtual关键字,chi ...