- 博客(13)
- 资源 (1)
- 收藏
- 关注
原创 2022巅峰极客PWN
在泄露出堆地址之后,修改fd指针,指向0x70堆块的前0x10位置,然后将堆块分配过去,进行修改0x70的fd指针。想要达成任意写,如果是修改fd,这题又只有在申请堆块时才可以进行写堆块,那么就得申请三次才能达成,在次数紧张的情况下,我又没想到有其他布局可以节省泄露地址使用的次数,就想到了可以通过劫持 tcache bin,修改上面的内容,只需要两次就可以做到任意地址写,节省了一次。两次刚好足够,一次填写地址,一次分配堆块达成任意写,这次就不要再用0x70分配,透支了两次,已经坏掉了。
2022-09-01 18:53:46
486
原创 Linux下gdb(插件pwndbg、pead、gef)安装及调试常用指令
gdb一、安装指令先装,因为这个带有 parseheap、以及 heapinfo 等指令,有的场景下更好用cd ~/git clone https://github.com/scwuaptx/Pwngdb.git cp ~/Pwngdb/.gdbinit ~/pwndbg:pwndbg (/poʊnddb æg/)是一个GDB插件,使GDB的调试不那么糟糕,重点关注低级软件开发人员、硬件黑客、逆向工程师和开发人员需要的特性peda:GDB的Python开发协助gef:GEF(发音为ʤɛf
2022-04-12 20:33:48
10552
原创 PWN基础知识及基础栈溢出手法
一、pwntools常用函数函数用途send(data)发送数据(字符串形式发送)sendline(data)发送一行数据,默认在行尾加 \n(字符串形式发送)recv(numb=1096,timeout=default)接收指定字节数的数据buf = p.recvuntil(“\n”, drop=True)直到接收到\n为止,drop=True表示丢弃\n,buf为接收到的输出但不包括丢弃的\nrecvrepeat(timeout=default)接
2022-04-12 20:18:56
4009
2
原创 BUU刷题记录(四)
以下几题的ciscn是我先抽出来做的,因为不久就是ciscn,所以看看之前的题目,先不按顺序十七、ciscn_2019_n_3照例checksec一下开启了nx和canary,relro只开启部分,可以修改got表(后面没用到就是了)进入ida看看反汇编代码总共有着四个功能,第一个new note:在第一个功能里面,可以创建一个堆,堆里面第一个存放的是printf函数指针,第二存放了一个free函数指针,第三个存放有区别,当type==1,存放的是一个数据,type ==2,存放的是字符串
2022-04-12 20:12:22
485
转载 格式化字符串漏洞利用
转载自ctf-wikihttps://ctf-wiki.org/pwn/linux/user-mode/fmtstr/fmtstr-example/格式化字符串漏洞利用其实,在上一部分,我们展示了格式化字符串漏洞的两个利用手段使程序崩溃,因为%s对应的参数地址不合法的概率比较大。查看进程内容,根据%d,%f输出了栈上的内容。下面我们会对于每一方面进行更加详细的解释。程序崩溃通常来说,利用格式化字符串漏洞使得程序崩溃是最为简单的利用方式,因为我们只需要输入若干个%s即可%s%s%s%s%
2022-04-10 09:16:18
1234
原创 格式化字符串漏洞
前提知识储备:概念格式化字符串函数可以接受可变数量的参数,并将第一个参数作为格式化字符串,根据其来解析之后的参数。一般来说,格式化字符串在利用的时候主要分为三个部分格式化字符串函数格式化字符串后续参数,就是下图中逗号后的变量(可以不要)上述可转为该图:将相关正式概念代入图片更好理解相关函数输入:scanf输出函数函数基本介绍printf输出到stdoutfprintf输出到指定FILE流vprintf根据参数列表格式化输出到 stdou
2022-04-10 09:14:38
333
原创 BUU刷题记录(三)
buu——pwn学习十、铁人三项(第五赛区)_2018_ropchecksec一下,开启了nx保护,然后拖入ida呃。。。应该就是比较熟悉的rop的构建了,直接上exp吧,这类题目做挺多的了:十一、gyctf_2020_borrowstack先做下这题,一直想完整的了解栈迁移,借着这题真正的掌握栈迁移的手法和知识点吧,先checksec一下,再拖入ida分析里面很简单,没有什么复杂的函数,很适合借此了解栈迁移!首先read函数读取的字节数不够,只能够刚好覆盖返回地址。第二输入点的位置是b
2022-04-10 09:08:38
3074
原创 Linux缓冲区保护机制
前言为了更好地对缓冲区进行利用,十分有必要了解一下checksec所检查出的漏洞缓解措施都意味着什么如图上所示,RELRO、Stack、NX、PIE四种保护机制,下方介绍时,括号里的是在Windows系统中的名称以下主要来源于《从0到1CTFer成长之路》一、NX(DEP)NX即是No-execute,不可执行。原理是通过现代操作系统的内存保护单元机制(MPU)对程序内存按页的粒度进行权限设置,其基本规则为可写权限与可执行权限互斥。因此开启了NX的程序代表着堆栈上写入的代码数据将不可被执行,也就
2022-04-10 09:00:24
3587
原创 BUU刷题记录(二)
buu——pwn学习四、ciscn_2019_n_8checksec一下发现保护基本都开了,进入ida一探究竟:达成条件很简单,就是让var[13]的值等于17就可以获取shell,这里要注意一点,var是int类型数组,所以填充的时候,比如var[0]就要填进去4个字节的内容才能填满(这里我刚开始疏忽了,一直没能获取权限。。)所以要是用a去填充要先填52个才行,之后才是输入17,不过如果直接使用p32会更方便一些,exp如下:五、not_the_same_3dsctf_2016查看一
2022-04-09 11:22:33
566
原创 PWN-整数溢出
整数溢出基础知识数据类型以及所取的范围(环境为64位下使用gcc-5.4)类型字节范围short int2byte(word)0~32767(0~0x7fff) -32768~-1(0x8000~0xffff)unsigned short int2byte(word)0~65535(0~0xffff)int4byte(dword)0~2147483647(0~0x7fffffff) -2147483648~-1(0x80000000~0xfffffff
2022-04-06 19:12:58
933
原创 BUU刷题记录(一)
buu——pwn学习一、[第五空间2019 决赛]PWN5checksec一下,32位文件,开启了nx与canary保护措施拖入ida静态分析在main函数就可以很清晰的发现,有个判断语句成立就可以获取shell,然后分析该如何使if判断成立,可以发现,要相等的是一个随机数,对于随机数一般都是覆盖成我们已知的一个数值,接着看,存在了printf(&buf)字符串漏洞,很显然已经可以利用了,计算下字符串的偏移两种方式皆可算出偏移为10,构造%10$n,直接输入地址即可,因为在32位下
2022-04-06 19:07:25
303
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人