摘要:
https://forum.butian.net/share/3896 阅读全文
摘要:
导言 在libc版本越来越高的情况下,许多旧的攻击方式已然失效,而large_bin_attack始终屹立不倒,是许多攻击方式的先决条件,这也是我们要学习它的原因 large_bin 概念 large_bin是一种堆分配的管理方式,是双向链表,用于管理大于某个特定大小阈值的内存块。一般而言,进入la 阅读全文
摘要:
导言 哎,异或fd指针真是令人讨厌 IO_file_jumps _IO_lock_t _IO_stdfile,_IO_wide_data(针对宽字节的虚函数表),_IO_FILE_plus(含有stdin,stdout)三者均被定义为IO_file_jumps 原理 IO_file_jumps是一个 阅读全文
摘要:
导论 动调是最好的导师! malloc_hook函数解析 malloc_hook是malloc的钩子函数,在执行malloc时,会先检测__malloc_hook的值,如果malloc_hook的值存在,则执行该地址(值里边表现为十六进制,可以成为地址),也就是说,如果我们成功劫持malloc_ho 阅读全文
摘要:
导言 这类题型还是我复现CISCN_2019_西南的PWN1的时候遇见的,算是涨知识了 前置知识 我们都知道,在程序中最先调用的不是main,也不是__libc_start_main,而是_start,我们来看一下再x86下的_start .text:08048420 public _start . 阅读全文
摘要:
是我的错觉么,总觉得unlink比UAF好懂好多...也有可能是我觉得做题模板比较好理解一点,真要深入的话我感觉一个头会比两个大emmmm 原理及其条件 原理 unlink顾名思义,脱链,把一个空闲的chunk从unsorted bin里取出来,与物理相邻的chunk合成一个一个大堆块(分“前合”, 阅读全文
摘要:
ORW 引入 在现今的CTF赛事中,越来越多的题目启动了沙箱,往往是禁用了execve函数,使我们没办法直接通过system(/bin/sh\x00)来getshell,这个时候就到了ORW大显身手的时刻。 ORW分别是open,read,write的首字母缩写,也正是要利用这三个函数来读出flag 阅读全文
摘要:
stack_migration checksec 开启了NX保护,但是没有PIE和Canary 代码审计 可以看到有两个read和一个printf。第一个read没什么用我们看第二个。因为v2距离rbp有0x50个字节,而read只能读入0x60个字节,意味着我们剩余的字节数只有0x10,没法构造完 阅读全文
摘要:
碎碎念 咱就一纯小白,以为带了Begin这一单词的CTF能对我仁慈一点,结果吧,太喜欢了,被狠狠拷打,从头自闭到尾,属于是从这次比赛又狠狠学习到不少知识了 废话不多说,上正文嘞 BeginCTF One_byte checksec 嗯,基本啥都开了,喜欢捏。但是尊贵的CTFer,该“源审,启动!”了 阅读全文
摘要:
stack smash 造成原因 当进行栈溢出时,触发了__stack_chk_fail,从而拦截了该栈溢出,使程序崩溃 利用原理 我们首先了解一下__stack_chk_fail函数的构成 发现调用了__fortify_fail函数,那我们再看下这个函数 发现有两个参数,一个是msg(信息,也就是 阅读全文