二进制安全
二进制小白进阶之路
linux 64位万能gadget & 栈迁移 & rop linux 64位万能gadget & 栈迁移 & rop
linux 64位万能gadget & 栈迁移 & rop用一个例题(下面有题目链接)为例子,下面是它的关键函数:最后一个read函数存在溢出,但是由于溢出的长度有限因而不能够实现利用,同时第一个read函数可以向bss段读
2020-01-15
2019XMAN冬令营入营赛 2019XMAN冬令营入营赛
2019XMAN入营赛XMAN训练营的题目,还是能学到不少东西的,就拿来看了看。 babyarm这个题目并不难,难在于它是一个arm的架构,所以难以调试,不过从出题人哪里得到一个很好的github项目arm_now,但是我看了看还是没办法用
2020-01-11
2019湖湘杯 2019湖湘杯
练习赛一共两个pwn,第一个没啥说的,第二个是个格式化,但是由于格式化之前把握不深导致菜的一批,很感谢ditto师傅能够指点一波,看了师傅的博客,受益匪浅。第一个尴尬点: 我在泄露的时候泄露出了一个(nil)的神奇东西,本来觉得可能是那些限
2019-11-20
2019I春秋答题赛 2019I春秋答题赛
PWN2做出来了两个pwn题目(其中一个是复现出来的。。。。):首先说一个pwn2,这个题目真是让我张了不少知识,不仅理解了tcache和unsorted bin attack还学会怎么patch elf文件的libc和ld链接器,同时学了
2019-11-05
32位逆向分析技术 32位逆向分析技术
汇编指令 ret n : 在ret指令后给栈指针加上操作数 test eax,eax 如果eax的值为0,那么逻辑与的运算结果为0,设置ZF为1,否则ZF为0 lea :加载有效地址 sar : 有符号数右位移指令,这个是算术右位移,补全
汇编知识点 汇编知识点
汇编中补码转换1.补码可以先减1,然后按位取反。2.从右往左遇见第一个1不变,然后向左按位取反(符号位除外)3.对于16进制数 :取反的方法就是用15减去改数字中的每一位 :6A3D –> 95C2+1 –> 95C3 (这只是
2019-09-17
2019第五空间pwn题解 2019第五空间pwn题解
於讴首先是一个简单的逆向分析只要大于或等于1000即可,接下来就是一个很简单的栈溢出的ROP利用: #!/usr/bin/env python # coding=utf-8 from pwn import * from LibcSearch
2019-08-31
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
Chunk Extend and Overlapping Chunk Extend and Overlapping
chunk extend 堆利用: 程序中堆的利用 可以控制chunk header中的数据 例如:heap overflowptmalloc 对chunk 操作的存在漏洞。 首先:怎么获取chunk的大小? /* Get size
2019-08-16
64位 house of spirit 64位 house of spirit
这个题目有问题,但是重要的是利用思想:可以把源码贴出来帮助理解: #include<stdio.h> #include<stdlib.h> #include<string.h> #include<u
2019-08-03
3 / 4