- 博客(60)
- 收藏
- 关注
原创 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
391
原创 roarctf_2019_easy_pwn
64位,保护全开add这里,size创建不能大于0x1000,edit这里乍一看没啥,实际上有个size的比较函数这里如果从edit里面输入的size,跟你申请的size相差0xa就能有个dele这里没有uafshow这里判断申请那个值是否为1,才给你show。
2023-10-04 00:04:51
245
原创 pwnable_hacknote
32位,没开PIEmain部分就不贴了,直接贴主要的函数add这里,程序申请了一个chunk,用来存放puts函数,和content的地址,然后给用户申请一个chunk,size不限制free这里是uafshow这里,是通过程序申请的chunk里面的puts函数,然后取下一位content的地址去打印content的。
2023-10-03 18:50:22
1057
原创 ciscn_2019_s_9
32位,啥也没开,开心愉悦写shellcode程序主要在这里,栈溢出,写shellcode进去然后执行,发现有个hint这里有个jmp,ok好办了。
2023-10-01 22:57:43
264
原创 picoctf_2018_shellcode
32位,啥都没开这个看着挺大的,直接来个ROPchain,还真有,然后让我看看溢出点main函数无法编译,(得看汇编了(但是我们可以反汇编vuln函数vuln很简单,但是a1在栈中的位置我们看看main传了什么进去把var_A0传入,也就是我们输入的位置,从var_A0开始写入在观察一下main的汇编发现一个东西在main的后面有个也就是说,我们写的东西能直接执行,并且也没开NX。
2023-10-01 22:28:51
343
原创 picoctf_2018_can_you_gets_me
32位,只开了NX拿到这么大的程序,直接ROPchain看看果不其然然后去ida看看溢出点秒了。
2023-10-01 19:48:36
219
原创 wustctf2020_name_your_cat
32位,开了NX和canary有个后门函数这里有个,如果v0可以控制,我们就相当于任意地址写,v0是下面函数的返回值v0也就是这个函数的v2,没有边界处理,可以任意写。
2023-10-01 19:39:26
208
原创 wdb_2018_2nd_easyfmt
32位只开了NX这题get到一点小知识(看我exp就知道了程序很简单,格式化字符串漏洞,并且无限使用没有system函数。
2023-09-30 16:48:40
690
原创 mrctf2020_shellcode_revenge
64位,开了PIE和RELRO,看到RWX出来,就感觉是shellcode了进入IDA,没法反编译到read这里,就是,并且buf是0x410,没法溢出下面这里,就是判断你输入的是否是可见字符。
2023-09-29 18:46:02
1402
原创 hitcontraining_uaf
32位,只开了NX这题算很简单,入门级uaf的题目add这里,先申请了一个chunk,用来放置打印的函数,和堆内容指针另一个是自己可以申请的chunkuaf 不解释了show这里是调用程序给我申请的chunk里面的打印函数去打印的。
2023-09-24 21:40:53
181
原创 picoctf_2018_leak_me
32位,只开了NX有个后门,只要我们输入正确的密码就getshell了看我们输入的点,v5和s的位置这两个是紧挨着的并且password是读入到s的。
2023-09-20 09:28:01
140
原创 actf_2019_babystack
64位,只开了nx让我们输入size,并且这个size最大,刚好更栈空间相差0x10,明显的栈迁移,给出了栈地址,我们迁移到栈即可。
2023-09-20 08:58:01
137
原创 picoctf_2018_echo back
32位,没开pie,可改got表有system,并且存在格式化字符串漏洞,很明显改got然后写/bin/sh就行。
2023-09-18 12:23:51
79
原创 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
192
原创 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
125
原创 sctf_2019_easy_heap
64位保护全开,本题是一道申请size大小不超过0x1000,可以超过tcache的size没有uafedit这里没什么主要是在最后那里存在off by null ,可以溢出一个\x00本题没有show,但是有个很重要的地方这里,开辟了一个7权限的栈,并且给出了栈地址,
2023-09-10 13:26:00
171
原创 SWPUCTF_2019_p1KkHeap
本题学习了新姿势,劫持tcache控制块,并且tcache_count无符号比较先看tcache的源码,然后再分析本题(这里直接拿佬的解析了)(是无符号数跟有符号数大小比较,会将有符号数变成无符号数再两者比较,如果我们通过一些手段,将tcache_count,变成负数,我们释放掉的chunk就不会再放入tcache回到本题开了一个沙盒,禁用了execve,也就是无法使用onegadget,只能使用orw把flag,write出来在沙盒里面开辟了空间并且给出了7的权限只要我们在0x66660000。
2023-09-08 19:58:43
100
原创 gyctf_2020_document
64位,保护全开一共申请了两个堆,并且两个堆都无法自定义size并且一号堆放有二号堆内容的指针有个read这个的意思就是第二个参数需要8个字符,具体如下show这里就是通过一号堆存放的指针,然后write出来内容这里可以用指针泄露libcuafedit这里注意一下就是他修改内容的时候是意思就是从内容的0x10开始修改,然后需要填满0x70的内容,这里就是为什么下面有3号堆的存在。
2023-08-31 11:08:44
114
原创 qctf2018_stack2
然后本题坑点来了,他不是正常的开辟栈空间,如果是正常的话。有后门函数(不能用,出题人没有配置。ASLR保护机制使低4位仍是固定的。他每次只能改一个字节,一位一位改。数组没有检测边界,存在溢出。环境,但是又能用一点点。环境我们需要rop一下。
2023-08-30 11:08:17
109
原创 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
283
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人