堆溢出-Unlink
堆溢出-Unlink原理
对 fd 和 bk 的检查
c//对 fd 和 bk 的检查if (__builtin_expect (FD->bk != P || BK->fd != P, 0)) malloc_printerr (check_action, "corrupted doub ...
堆溢出-Use After Free
堆溢出-Use After Free原理当一个内存块被释放之后再次被使用。
内存块被释放后,其对应的指针被设置为 NULL , 然后再次使用,自然程序会崩溃。
内存块被释放后,其对应的指针没有被设置为 NULL ,然后在它下一次被使用之前,没有代码对这块内存块进行修改,那么程序很有可能可以正常运转 ...
堆溢出-Chunk Extend and Overlapping
堆溢出-Chunk Extend and Overlapping原理这种利用方法需要以下的时机和条件:
程序中存在基于堆的漏洞
漏洞可以控制 chunk header 中的数据
ptmalloc 通过 chunk header 的数据判断 chunk 的使用情况和对 chunk 的前后块进行定位 ...
堆溢出-Glibc堆结构
堆溢出-Glibc堆结构目前堆实现有如下几种
Codedlmalloc – General purpose allocatorptmalloc2 – glibcjemalloc – FreeBSD and Firefoxtcmalloc – Googlelibumem – Solaris
...
堆溢出-Off-By-One
堆溢出-Off-By-One原理off-by-one 指程序向缓冲区中写入时,写入的字节数超过了这个缓冲区本身所申请的字节数并且只越界了一个字节。
类似如下代码
Code#include <stdio.h>#include <malloc.h>int main(){ ...
堆溢出-基本方法
堆溢出-基本方法堆溢出是指程序向某个堆块中写入的字节数超过了堆块本身可使用的字节数(之所以是可使用而不是用户申请的字节数,是因为堆管理器会对用户所申请的字节数进行调整,这也导致可利用的字节数都不小于用户申请的字节数),因而导致了数据溢出,并覆盖到物理相邻的高地址的下一个堆块。
堆溢出漏洞发生的基本前 ...
2019科成安洵杯WP
2019科成安洵杯WPez搜索flag就出来了
小游戏以前一道题改的,直接定位关键函数
Codebox1=[18,64,98,5,2,4,6,3,6,48,49,65,32,12,48,65,31,78,62,32,49,32,1,57,96,3,21,9,4,62,3,5,4,1,2,3 ...
CVE-2010-2553 CVDecompress堆溢出分析
CVE-2010-2553 CVDecompress堆溢出分析分析环境
Windows XP SP3 x86Windbg 6.12.2.633Windows Media Player 9.0.0.4503
Windbg符号表配置
Codesrv*c:\Symbols*http:/ ...
CVE-2012-0003 MIDI 文件堆溢出分析
CVE-2012-0003 MIDI 文件堆溢出分析该漏洞成因主要是由于 winmm.dll 动态链接库在处理 MIDI 文件的 Note On 和 Note Off 字段没有做限制,导致可以操纵该字段访问堆块之外 1 个字节的内存空间;由于该漏洞过于特殊,所以在分析和利用的时候难度是相当大的。
分 ...
x86汇编-从实模式到保护模式
x86汇编-从实模式到保护模式
注释
注释必须以分号“;”开始。
在屏幕上显示文字
文本模式和图形模式是显卡的两种基本工作模式,可以用指令访问显卡,设置它的显示模式。在不同的工作模式下,显卡对显存内容的解释是不同的。
为了访问显存,也需要使用逻辑地址,也就是采用“段地址:偏移地址”的形式
In ...