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语言了,好想逛街----秀秀我的鞋子, ...
随机推荐
- gojs绘流程图
引用:http://www.tuicool.com/articles/eEruaqu http://www.open-open.com/lib/view/open1435023502544.html ...
- python-socket-SocketServer - Forking
在之前的文章中,客户端和服务端.一般情况下并非是一对一的关系.多对一,多个客户端连接一个服务端.并且服务端需要对每一个客户端进行信息处理. 在客户端不多的情况下,可以采取为每一个客户端创建一个进程对其 ...
- JVM原理讲解和调优
一.什么是JVM JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现 ...
- 如何使用Google Map API开发Android地图应用
两年前开发过的GoogleMap已经大变样,最近有项目要用到GoogleMap,重新来配置Android GoogleMap开发环境,还真是踩了不少坑. 一.下载Android SDK Manager ...
- SQL语句 - MERGE INTO 、Cross/Outer Apply用法理解
MERGE INTO 语法: MERGE INTO table_name alias1 USING (table|view|sub_query) alias2ON (join condition) W ...
- remi
很简单呀,又不用自己编译.用 http://rpms.remirepo.net/ 这个 remi 的包,直接 yum install php-swoole 就完事了 安装remi包也很简单, yum ...
- 原生JS事件绑定方法以及jQuery绑定事件方法bind、live、on、delegate的区别
一.原生JS事件绑定方法: 1.通过HTML属性进行事件处理函数的绑定如: <a href="#" onclick="f()"> 2.通过JavaS ...
- PostgreSQL JSON函数
https://www.postgresql.org/docs/9.6/static/functions-json.html PostgreSQL 9.6.1 Documentation Prev U ...
- Linq to Sql : 并发冲突及处理策略
原文:Linq to Sql : 并发冲突及处理策略 1. 通过覆盖数据库值解决并发冲突 try { db.SubmitChanges(ConflictMode.ContinueOnConflict) ...
- SQL SERVER数据库备份时出现“操作系统错误5(拒绝访问)。BACKUP DATABASE 正在异常终止。”错误的解决办法
一般备份文件选择的目录为磁盘根目录或备份所选分区未授予sqlserver用户读写权限时会出现此错误. 解决办法就是给sqlserver用户授予权限: 选择要备份的文件夹 ,右键-->属性--&g ...