![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Buuoj刷题
YameMres
写给自己,也算监督自己,也能分享他人
展开
-
newstar week3 pwn
栈溢出写read函数,并且read的内容写在开辟的空间内,然后返回开辟的空间。给我们开辟了一个权限为7的空间,就是让我们写shellcode到这里。提供了一次write,和一次read,并且是超大溢出的read,通过多次栈迁移在bss段写,然后泄露libc,getshell。构造frame,溢出打srop,看exp有详细解释。发现栈里没啥libc,我们写一个libc进去。程序非常简单,溢出只能覆盖rbp和rip。多次利用这个段,多次使用。原创 2023-10-25 22:01:51 · 315 阅读 · 0 评论 -
roarctf_2019_easy_pwn
64位,保护全开add这里,size创建不能大于0x1000,edit这里乍一看没啥,实际上有个size的比较函数这里如果从edit里面输入的size,跟你申请的size相差0xa就能有个dele这里没有uafshow这里判断申请那个值是否为1,才给你show。原创 2023-10-04 00:04:51 · 189 阅读 · 0 评论 -
axb_2019_brop64
64位,只开了NX程序很简单,有一点点花里胡哨,看到栈溢出,看一下有没有坑点(x。原创 2023-10-03 19:35:07 · 167 阅读 · 0 评论 -
jarvisoj_level5
64位,只开了NX程序很简单,栈溢出。原创 2023-10-03 19:11:57 · 156 阅读 · 0 评论 -
pwnable_hacknote
32位,没开PIEmain部分就不贴了,直接贴主要的函数add这里,程序申请了一个chunk,用来存放puts函数,和content的地址,然后给用户申请一个chunk,size不限制free这里是uafshow这里,是通过程序申请的chunk里面的puts函数,然后取下一位content的地址去打印content的。原创 2023-10-03 18:50:22 · 1011 阅读 · 0 评论 -
ciscn_2019_s_9
32位,啥也没开,开心愉悦写shellcode程序主要在这里,栈溢出,写shellcode进去然后执行,发现有个hint这里有个jmp,ok好办了。原创 2023-10-01 22:57:43 · 197 阅读 · 0 评论 -
picoctf_2018_shellcode
32位,啥都没开这个看着挺大的,直接来个ROPchain,还真有,然后让我看看溢出点main函数无法编译,(得看汇编了(但是我们可以反汇编vuln函数vuln很简单,但是a1在栈中的位置我们看看main传了什么进去把var_A0传入,也就是我们输入的位置,从var_A0开始写入在观察一下main的汇编发现一个东西在main的后面有个也就是说,我们写的东西能直接执行,并且也没开NX。原创 2023-10-01 22:28:51 · 253 阅读 · 0 评论 -
picoctf_2018_can_you_gets_me
32位,只开了NX拿到这么大的程序,直接ROPchain看看果不其然然后去ida看看溢出点秒了。原创 2023-10-01 19:48:36 · 146 阅读 · 0 评论 -
wustctf2020_name_your_cat
32位,开了NX和canary有个后门函数这里有个,如果v0可以控制,我们就相当于任意地址写,v0是下面函数的返回值v0也就是这个函数的v2,没有边界处理,可以任意写。原创 2023-10-01 19:39:26 · 146 阅读 · 0 评论 -
wdb_2018_2nd_easyfmt
32位只开了NX这题get到一点小知识(看我exp就知道了程序很简单,格式化字符串漏洞,并且无限使用没有system函数。原创 2023-09-30 16:48:40 · 617 阅读 · 0 评论 -
inndy_echo
32位,只开了NX程序很简单,给了格式化字符串漏洞,并且给了system。原创 2023-09-30 10:54:03 · 108 阅读 · 0 评论 -
mrctf2020_shellcode_revenge
64位,开了PIE和RELRO,看到RWX出来,就感觉是shellcode了进入IDA,没法反编译到read这里,就是,并且buf是0x410,没法溢出下面这里,就是判断你输入的是否是可见字符。原创 2023-09-29 18:46:02 · 1251 阅读 · 0 评论 -
picoctf_2018_got_shell
32位,只开了NX有后门函数,并且主函数,是更改地址的程序。原创 2023-09-29 18:26:46 · 220 阅读 · 0 评论 -
bbys_tu_2016
32位,只开了NX栈溢出有后门。原创 2023-09-27 14:36:05 · 108 阅读 · 0 评论 -
cmcc_simplerop
32位,开了NX栈溢出文件特别大,实际内容却特别小,能联想到给了很多gadget了。原创 2023-09-26 17:24:38 · 351 阅读 · 0 评论 -
picoctf_2018_buffer overflow 2
32位,只开了NX很简单的程序栈溢出并且有后门函数后门函数需要。原创 2023-09-26 16:37:07 · 118 阅读 · 0 评论 -
hitcontraining_uaf
32位,只开了NX这题算很简单,入门级uaf的题目add这里,先申请了一个chunk,用来放置打印的函数,和堆内容指针另一个是自己可以申请的chunkuaf 不解释了show这里是调用程序给我申请的chunk里面的打印函数去打印的。原创 2023-09-24 21:40:53 · 132 阅读 · 0 评论 -
inndy_rop
自动生成exp,然后再给个溢出点就可以了。然后我们利用ROPgadget。打开但是只有很简单的程序。32位,只开了nx,原创 2023-09-24 12:02:30 · 64 阅读 · 0 评论 -
jarvisoj_level4
32位,只开了nx栈溢出。原创 2023-09-21 22:32:53 · 53 阅读 · 0 评论 -
jarvisoj_level3_x64
64位,只开了nx栈溢出。原创 2023-09-21 21:59:18 · 170 阅读 · 0 评论 -
ez_pz_hackover_2016
32位,保护全关这里不存在漏洞点漏洞点在这里,通过上面输入的数据传进这里并执行栈。原创 2023-09-21 21:38:45 · 181 阅读 · 0 评论 -
picoctf_2018_leak_me
32位,只开了NX有个后门,只要我们输入正确的密码就getshell了看我们输入的点,v5和s的位置这两个是紧挨着的并且password是读入到s的。原创 2023-09-20 09:28:01 · 81 阅读 · 0 评论 -
suctf_2018_basic pwn
给出后门,ret2text。原创 2023-09-20 09:03:55 · 75 阅读 · 0 评论 -
actf_2019_babystack
64位,只开了nx让我们输入size,并且这个size最大,刚好更栈空间相差0x10,明显的栈迁移,给出了栈地址,我们迁移到栈即可。原创 2023-09-20 08:58:01 · 89 阅读 · 0 评论 -
x_ctf_b0verfl0w
32位,保护全关,写shellcode栈溢出并且有个hit给出了jmp esp。原创 2023-09-19 21:15:21 · 85 阅读 · 0 评论 -
picoctf_2018_echo back
32位,没开pie,可改got表有system,并且存在格式化字符串漏洞,很明显改got然后写/bin/sh就行。原创 2023-09-18 12:23:51 · 34 阅读 · 0 评论 -
jarvisoj_level6_x64
64位,没开pie在程序开始的时候,建了一个chunk,用于存放申请chunk的指针,size和flag值(检测用)add这里,只能申请到最小是0x80大小的chunk,但是在写入content的时候,必须写满dele这里有个uaf,用于存放chunk的指针没有置零edit这里,正常修改就可show这里的话,会通过flag值是否show,原创 2023-09-17 21:57:32 · 126 阅读 · 0 评论 -
hitcontraining_playfmt
32位保护全关存在格式化字符串漏洞,并且是bss段,也就是非栈上的格式化字符串。原创 2023-09-14 20:43:20 · 85 阅读 · 0 评论 -
linkctf_2018.7_babypie
返回地址跟后门差距不大,直接覆盖返回地址的低位即可。第一次read,直接把canary泄露出来。原创 2023-09-14 00:20:29 · 100 阅读 · 0 评论 -
ciscn_2019_n_7
泄露libc求出exit_hook,然后exit_hook改成onegadget,我们退出程序就可以getshell。这个name是可以输入0x10字节,然后可以溢出到[2],也就是更改掉chunk B 的指针。add这里是只能申请一个chunk,然后在29行结合下面的edit,有个溢出,这里申请了一个chunk,并且是通过BSSPTR指针指向。并且给了泄露puts的libc。原创 2023-09-13 23:59:18 · 74 阅读 · 0 评论 -
ciscn_2019_s_6
64位保护全开不限制size大小,uaf。。。show这里因为uaf也可以直接泄露libc。原创 2023-09-11 09:12:13 · 34 阅读 · 0 评论 -
sctf_2019_easy_heap
64位保护全开,本题是一道申请size大小不超过0x1000,可以超过tcache的size没有uafedit这里没什么主要是在最后那里存在off by null ,可以溢出一个\x00本题没有show,但是有个很重要的地方这里,开辟了一个7权限的栈,并且给出了栈地址,原创 2023-09-10 13:26:00 · 118 阅读 · 0 评论 -
SWPUCTF_2019_p1KkHeap
本题学习了新姿势,劫持tcache控制块,并且tcache_count无符号比较先看tcache的源码,然后再分析本题(这里直接拿佬的解析了)(是无符号数跟有符号数大小比较,会将有符号数变成无符号数再两者比较,如果我们通过一些手段,将tcache_count,变成负数,我们释放掉的chunk就不会再放入tcache回到本题开了一个沙盒,禁用了execve,也就是无法使用onegadget,只能使用orw把flag,write出来在沙盒里面开辟了空间并且给出了7的权限只要我们在0x66660000。原创 2023-09-08 19:58:43 · 65 阅读 · 0 评论 -
picoctf_2018_echooo
本地调试,写一个flag.txt文件。并且给出了格式化字符串漏洞。把flag读在了栈上。原创 2023-09-06 15:48:01 · 38 阅读 · 0 评论 -
gyctf_2020_document
64位,保护全开一共申请了两个堆,并且两个堆都无法自定义size并且一号堆放有二号堆内容的指针有个read这个的意思就是第二个参数需要8个字符,具体如下show这里就是通过一号堆存放的指针,然后write出来内容这里可以用指针泄露libcuafedit这里注意一下就是他修改内容的时候是意思就是从内容的0x10开始修改,然后需要填满0x70的内容,这里就是为什么下面有3号堆的存在。原创 2023-08-31 11:08:44 · 65 阅读 · 0 评论 -
zctf_2016_note3
然后ptmalloc最小申请的chunk size原创 2023-08-30 15:26:22 · 33 阅读 · 0 评论 -
pwnable_asm
并且我们read的地方也是这里,也给了很大的写入空间,直接写orw的shellcode。原创 2023-08-30 14:15:42 · 30 阅读 · 0 评论 -
qctf2018_stack2
然后本题坑点来了,他不是正常的开辟栈空间,如果是正常的话。有后门函数(不能用,出题人没有配置。ASLR保护机制使低4位仍是固定的。他每次只能改一个字节,一位一位改。数组没有检测边界,存在溢出。环境,但是又能用一点点。环境我们需要rop一下。原创 2023-08-30 11:08:17 · 69 阅读 · 0 评论 -
gyctf_2020_some_thing_interesting
show一般用来泄露libc,极个别用来改got表然后getshell,(或者还有其他。edit这里正常edit,有的师傅有用edit,直接改fd指针,效果一样的。add这里,建了两个chunk,size都是fastbin大小的。本题已经拿到libc了所以没啥用(-.-)这里存在一个格式化字符串漏洞,刚好够。然后读入的东西会进入到下面这里。有了libcbase下面随便打。题目部署在libc-2.23。但是他检测只检测写入的前。我们看看栈能泄露点啥东西。必须含有这个,这里占了。uaf+格式化字符串。原创 2023-08-29 20:59:20 · 145 阅读 · 0 评论 -
[BSidesCF 2019]Runit
执行了buf。原创 2023-08-29 16:37:37 · 42 阅读 · 0 评论