shellcode编写
摘要:1.最简单的不考虑平台性等等问题 这里主要学会了如何在shellcode中构建字符串和使用字符串 2.在xp及2003 server 动态定位API 不同的操作系统版本,打补丁的版本会使得各个系统dll中的代码,数据等信息. 所以函数地址直接硬编码肯定不行.需要动态获得API地址 获取kernel3
阅读全文
windows堆溢出总结
摘要:1. <<w00w00 on Heap Overflows>> 一文总结 未完待续....
阅读全文
内核漏洞分析(来自<<漏洞战争>>)
摘要:驱动代码的基本逆向分析 示例源码: 编译后将程序加入到ida. 先看看入口函数 分发例程: 1.exploitme 的漏洞分析 将sys文件命名为a.sys. 通过driver monitor 加载后打开调试器附加上. 然后在windbg break 后查看该驱动信息: 易知这些不同类型的irp对应
阅读全文
数组越界漏洞(参考<<漏洞战争>>)
摘要:1.简介 通过访问,写入到超出最大索引的地方导致被利用 2.CVE-2011-2110-Adobe Flash Player 数组越界索引漏洞 (1).将swf文件反编译后提取出来分析 (2)分析源文件 main函数中: var param:Object = root.loaderInfo.para
阅读全文
漏洞分析方法总结
摘要:拿到poc时, 分析漏洞成因,关键步骤之一就是要定位到漏洞代码. 栈溢出一般分析方法: 1.基于字符串定位 当存在漏洞的代码片段处引用了字符串时,可以在IDA直接搜索该字符串,再通过交叉引用来到相应代码段处,如果有多处就可以对他们分别下断点,看断在何处. 如cve-2010-2883 ttf字体si
阅读全文
整数溢出(来自<<漏洞战争>>一书
摘要:1.简介 整数溢出本质上还是栈溢出或者堆溢出.本来对复制的长度有检查,但是由于无符号数和有符号数混淆,正数变负数等没有处理好整数的原因,导致绕过了 长度检查. CVE-2011-0027-Microsoft Data Access 组件堆溢出漏洞 搜索相关的ie类方法: 关键字 site:http:
阅读全文
释放重引用漏洞(来自<<漏洞战争一书>>
摘要:1.简介 基本问题是 当堆内存被释放后又重新申请内存时,新申请的内存与刚释放的内存有重合的部分, 被释放的内存虽然已被释放掉,但指向该内存的指针还存在, 如果操作该指针就可能修改掉新申请内存数据. 如当在堆中创建一个对象,p指向它,该对象释放后,又重新申请堆内存,而且这2次内存有重合的部分,此时新的
阅读全文
双重释放漏洞(来自<<漏洞战争>>一书)
摘要:基本: 1.原理 double free 是UAF的一种, 相对其他类型漏洞比较少见. 主要是由对同一个堆内存块进行二次释放导致的. 利用好可以执行任意代码 2.最简单的double free 导致的bug 示例 #include<stdio.h>#include<malloc.h>#include
阅读全文