二进制安全
二进制小白进阶之路
09
17
32位逆向分析技术 32位逆向分析技术
汇编指令 ret n : 在ret指令后给栈指针加上操作数 test eax,eax 如果eax的值为0,那么逻辑与的运算结果为0,设置ZF为1,否则ZF为0 lea :加载有效地址 sar : 有符号数右位移指令,这个是算术右位移,补全
17
汇编知识点 汇编知识点
汇编中补码转换1.补码可以先减1,然后按位取反。2.从右往左遇见第一个1不变,然后向左按位取反(符号位除外)3.对于16进制数 :取反的方法就是用15减去改数字中的每一位 :6A3D –> 95C2+1 –> 95C3 (这只是
2019-09-17
08
31
2019第五空间pwn题解 2019第五空间pwn题解
於讴首先是一个简单的逆向分析只要大于或等于1000即可,接下来就是一个很简单的栈溢出的ROP利用: #!/usr/bin/env python # coding=utf-8 from pwn import * from LibcSearch
2019-08-31
16
glibc heap Fastbin Corruption glibc heap Fastbin Corruption
基础知识: fastbin: Chunk Size <= get_max_fast()的chunk(其实就是64bits的是128bytes,32位的是64bytes) ,它们会被放在被称为fastbin的bin里面 上面的f
2019-08-16
16
Chunk Extend and Overlapping Chunk Extend and Overlapping
chunk extend 堆利用: 程序中堆的利用 可以控制chunk header中的数据 例如:heap overflowptmalloc 对chunk 操作的存在漏洞。 首先:怎么获取chunk的大小? /* Get size
2019-08-16
03
64位 house of spirit 64位 house of spirit
这个题目有问题,但是重要的是利用思想:可以把源码贴出来帮助理解: #include<stdio.h> #include<stdlib.h> #include<string.h> #include<u
2019-08-03
03
stack cookie探索 stack cookie探索
stack cookie的两种讲法 windows平台上叫 /GS:cookie linux上叫Stack Canary 它的原理就是在ebp-4的地方插入一个随机数(4字节还是8字节看计算机位数了),然后在函数返回(return)的时
2019-08-03
03
glibc heap House of Spirit glibc heap House of Spirit
这个技术也是针对于fastbin,属于fastbin_attack的一种。关键:目标位置伪造fastbin chunk并将其释放,进而实现在指定地址分配chunk 关于free时候的检查: free检查会看size的低字节flag的IS_
2019-08-03
02
逆向工程小知识 逆向工程小知识
在VB中:vbaVarForInit() , vbaVarForNext() 可以使逆向分析人员在字符串对象中逐个引用字符。 后面可以跟loop count (EBX) 使其按指定次数运转循环 MSVBVM50.rtcMsgBox \\调
2019-08-02
02
glibc heap UAF glibc heap UAF
use after free(UAF) 重新malloc一样的大小,会拿到曾经Free的chunk,此时就会有两个指针p,和q指向同一个内存块,使用这两个的指针操作混在一起(之前的哪个指针在chun被free后没有被置为NULL,形成悬空
2019-08-02
02
glibc heap unlink漏洞 glibc heap unlink漏洞
知识点: free操作会检查前后相邻堆块是否in_use,空闲的话就会进行合并操作 空闲的堆块一般以双向链表的形式存在(fastbin是单向链表不适用此种攻击) unlink : 如果刚释放的堆块要与前面或者后面的堆块进行合并操作,那么需
2019-08-02
3 / 3