BUU-PWN
BUU PWN类型题目的WriteUp
m0sway
这个作者很懒,什么都没留下…
展开
-
BUU CTF PWN ciscn_2019_n_1 WriteUp
BUU CTF PWN题ciscn_2019_n_1的WriteUp原创 2022-02-28 10:49:03 · 186 阅读 · 1 评论 -
ciscn_2019_es_1
ciscn_2019_es_1 WriteUp BUU_PWN原创 2022-04-20 17:44:30 · 363 阅读 · 0 评论 -
[HarekazeCTF2019]baby_rop2
[HarekazeCTF2019]baby_rop2 WriteUp BUU_PWN原创 2022-04-07 11:08:31 · 985 阅读 · 0 评论 -
pwn2_sctf_2016
pwn2_sctf_2016 WriteUp BUU_PWN原创 2022-04-06 11:43:01 · 640 阅读 · 3 评论 -
jarvisoj_fm
jarvisoj_fm WriteUp BUU_PWN原创 2022-04-05 15:46:51 · 4097 阅读 · 0 评论 -
bjdctf_2020_babystack2
bjdctf_2020_babystack2 WriteUp BUU_PWN原创 2022-04-04 22:07:51 · 384 阅读 · 0 评论 -
bjdctf_2020_babyrop
bjdctf_2020_babyrop WriteUp BUU_PWN原创 2022-04-03 22:41:23 · 564 阅读 · 1 评论 -
铁人三项(第五赛区)_2018_rop
铁人三项(第五赛区)_2018_rop WriteUp BUU_PWN原创 2022-04-01 10:48:39 · 347 阅读 · 0 评论 -
ciscn_2019_ne_5
ciscn_2019_ne_5 WriteUp BUU_PWN原创 2022-03-31 22:39:36 · 244 阅读 · 0 评论 -
others_shellcode
others_shellcode WriteUp BUU_PWN原创 2022-03-30 11:41:49 · 391 阅读 · 0 评论 -
ciscn_2019_n_5
ciscn_2019_n_5 WriteUp BUU_PWN原创 2022-03-29 14:38:10 · 213 阅读 · 0 评论 -
not_the_same_3dsctf_2016
not_the_same_3dsctf_2016 WriteUp BUU PWN原创 2022-03-28 13:02:46 · 252 阅读 · 0 评论 -
[HarekazeCTF2019]baby_rop
[HarekazeCTF2019]baby_rop WriteUp BUU_PWN原创 2022-03-26 14:25:05 · 543 阅读 · 0 评论 -
ciscn_2019_en_2
ciscn_2019_en_2 WriteUp BUU_PWN原创 2022-03-25 11:22:19 · 1572 阅读 · 0 评论 -
bjdctf_2020_babystack
bjdctf_2020_babystack WriteUp BUU_PWN原创 2022-03-24 10:38:24 · 1537 阅读 · 1 评论 -
get_started_3dsctf_2016
get_started_3dsctf_2016 WriteUp BUU_PWN原创 2022-03-23 10:16:32 · 115 阅读 · 0 评论 -
[OGeek2019]babyrop
[OGeek2019]babyrop WriteUp BUU_PWN原创 2022-03-22 11:08:59 · 1102 阅读 · 2 评论 -
jarvisoj_level2
jarvisoj_level2 WriteUP BUU_PWN原创 2022-03-20 14:07:13 · 872 阅读 · 3 评论 -
ciscn_2019_n_8
Buu PWN ciscn_2019_n_8 详解writeup原创 2022-03-16 09:44:45 · 634 阅读 · 1 评论 -
Buu CTF PWN [第五空间2019 决赛]PWN5 WriteUp
Buu CTF PWN题第五空间2019 决赛]PWN5的WriteUp原创 2022-03-04 12:11:41 · 354 阅读 · 0 评论 -
Buu CTF PWN ciscn_2019_c_1 WriteUp
Buu CTF PWN题ciscn_2019_c_1的WriteUp原创 2022-03-03 14:56:58 · 494 阅读 · 0 评论 -
Buu CTF PWN jarvisoj_level0 WriteUp
Buu CTF PWN题jarvisoj_level0的WriteUp原创 2022-03-02 11:08:11 · 339 阅读 · 0 评论 -
Buu CTF PWN pwn1_sctf_2016 WriteUp
Buu CTF PWN题pwn1_sctf_2016的WriteUp原创 2022-03-01 23:49:19 · 285 阅读 · 3 评论 -
BUU CTF PWN warmup_csaw_2016 WriteUp
BUU CTF PWN题warmup_csaw_2016的WriteUp原创 2022-02-27 12:14:00 · 200 阅读 · 0 评论 -
BUU CTF PWN rip WriteUp
BUU CTF PWN题rip的WriteUp原创 2022-02-25 10:53:18 · 5058 阅读 · 0 评论 -
npuctf_2020_easyheap
npuctf_2020_easyheap使用checksec查看:开启了Canary和栈不可执行,没有开启PIE。先运行一下看看:OK,菜单出来了,堆题,放进IDA中分析:很标准很标准的主函数,接下来一个一个模块进行分析:create():heaparray[i] = malloc(0x10uLL):程序在创建用户申请的chunk时,会先创建一个0x10大小的chunkif ( size != 24 && size != 56 ):用户能够创建的chunk的大小已经固原创 2022-01-19 13:31:02 · 2704 阅读 · 0 评论 -
pwnable_hacknote
pwnable_hacknote使用checksec查看:开启了Canary和栈不可执行,没有开启PIE。先运行一下看看:看到菜单,应该是一道堆题了,放进IDA中查看:这里我已经将函数重命名了,接下来分步看:sub_8048956():对应menu(),略过sub_8048646():ptr[i] = malloc(8u);:程序首先会自动创建一个0x8大小的chunk*(_DWORD *)ptr[i] = puts_0;:puts_0内容是return puts(*(c原创 2022-01-13 11:48:41 · 416 阅读 · 0 评论 -
hitcon2014_stkof
hitcon2014_stkof使用checksec查看:开启了Canary和栈不可执行,没有开启PIE。先运行一下看看,发现是直接可以输入的,什么提示也没有,那么先拉进IDA中看:__int64 __fastcall main(__int64 a1, char **a2, char **a3){ int v3; // eax signed int v5; // [rsp+Ch] [rbp-74h] char nptr; // [rsp+10h] [rbp-70h] unsign原创 2022-01-12 10:59:11 · 2891 阅读 · 0 评论 -
hitcontraining_heapcreator
hitcontraining_heapcreator使用checksec查看:开启了Canary和栈不可执行,没有开启PIE。先运行一下看看:看到菜单,堆题,放进IDA中查看:分布来查看,首先是create_heap():heaparray[i] = malloc(0x10uLL):创建用户所需chunk前程序会先创建一个0x10大小的chunkv0[1] = malloc(size);:程序所创建的chunk中存放了用户所创的chunk的地址edit_heap():rea原创 2022-01-07 10:27:44 · 2851 阅读 · 0 评论 -
babyfengshui_33c3_2016
babyfengshui_33c3_2016使用checksec查看:开启了Canary和栈不可执行,看题目像是一道heap题目。放进IDA中查看:void __cdecl __noreturn main(){ char v0; // [esp+3h] [ebp-15h] int v1; // [esp+4h] [ebp-14h] size_t v2; // [esp+8h] [ebp-10h] unsigned int v3; // [esp+Ch] [ebp-Ch] v原创 2021-12-28 22:57:16 · 1415 阅读 · 0 评论 -
jarvisoj_test_your_memory
jarvisoj_test_your_memory使用checksec查看:只开启了栈不可执行,应该还是一道栈溢出题目。放进IDA中查看:先是用printf()输出了一个不知道什么玩意的东西然后调用men_test()跟进查看men_test():printf("0x%x \n", hint);:输出了hint的地址__isoc99_scanf("%s", &s);:存在栈溢出,距离ebp0x13题目思路:题目存在栈溢出,可以进行溢出调用system题目原创 2021-12-27 20:06:21 · 1215 阅读 · 0 评论 -
pwnable_orw
pwnable_orw使用checksec查看:开了Canary,但没有开NX,可以考虑写入shellcode执行。放进IDA中查看:调用orw_seccomp函数后,将用户输入的字符串执行。直接尝试写入shellcode,发现失败,便回过来看orw_seccomp()函数:seccomp 是 secure computing 的缩写,其是 Linux kernel 从2.6.23版本引入的一种简洁的 sandboxing 机制。在 Linux 系统里,大量的系统调用(system cal原创 2021-12-23 21:48:07 · 562 阅读 · 2 评论 -
hitcontraining_magicheap
hitcontraining_magicheap使用checksec查看:一道堆题,关闭了PIE,可以考虑覆盖got表来获取system getshell拉进IDA中查看:标准的菜单,main()函数就不贴截图了,menu()函数也没有营养,图也不贴了,先来看看create_heap():heaparray[i]:存放 chunk 的地址。read_input(heaparray[i], size):向 chunk 写入 size 大小的内容。heaparray是存放在bss段上的原创 2021-12-21 22:43:55 · 318 阅读 · 0 评论 -
[ZJCTF 2019]EasyHeap
[ZJCTF 2019]EasyHeap使用checksec查看:一道堆题,关闭了PIE,可以考虑覆盖got表来获取system getshell拉进IDA中查看:标准的菜单,main()函数就不贴截图了,menu()函数也没有营养,图也不贴了,先来看看create_heap():heaparray[i]:存放 chunk 的地址。read_input(heaparray[i], size):向 chunk 写入 size 大小的内容。heaparray是存放在bss段上的edit原创 2021-12-15 20:58:14 · 1266 阅读 · 1 评论 -
axb_2019_fmt32
axb_2019_fmt32使用checksec查看:只开启了栈不可执行,看题目名像是格式化字符串的题目。放进IDA中查看:存在格式化字符串,直接运行测试。可以看到,在第七位、第八位均有我们输入的参数。说明这题的栈是没有对齐的,写payload的时候需要注意。然而…这道题并没有后门函数直接写入got表,所以需要先泄露出libc地址再用one_gadget去getshell,可以覆盖read@got或者printf@gotexp:from pwn import *#start#原创 2021-12-14 12:22:04 · 2137 阅读 · 1 评论 -
wustctf2020_getshell_2
wustctf2020_getshell_2使用checksec查看:只开启了栈不可执行,应该和1一样是道栈溢出题目。放进IDA中查看:和1一样主函数中给出漏洞函数,漏洞函数中直接一个栈溢出。但是后门函数并没有直接给出system(/bin/sh),而是给了system("/bbbbbbbbin_what_the_f?ck__--??/sh")这样就不能直接调用后门函数进行getshell。虽然没有给/bin/sh,但是这串字符串的最后sh可以用作参数,同样可以获取到shell。记录下地原创 2021-12-13 10:34:42 · 2107 阅读 · 1 评论 -
mrctf2020_easyoverflow
mrctf2020_easyoverflow使用checksec查看:保护全开!!!放进IDA中看下:大致逻辑:用户输入的变量v4v5有定值调用check()函数传入参数v5check(v5)为true就调用system("/bin/sh")跟进check()函数查看:思路明了,只需要v5 == fakeflag就能getshell,跟进查找fakeflag的值再回来看输入点:v4在var_70v5在var_40gets()函数不限制输入,那么可以输入v4时溢出到原创 2021-12-13 10:31:26 · 333 阅读 · 0 评论 -
ciscn_2019_n_3
ciscn_2019_n_3使用checksec查看:开启了栈不可执行和Canary。放进IDA中查看,看菜单像是一道堆题,运行程序看下:标准的堆菜单题,IDA中仔细分析下:主要流程:创建、删除、查看,先来看看创建的函数do_new():records[v2]:存储 chunk 的地址,大小为0xc 。*v3:存储rec_int_print 函数地址用于打印存储的值和类型。*(v3 + 4):存储 free 函数地址,用于释放 chunk 。*(v3 + 8):存储用户输入的值,原创 2021-12-03 11:25:43 · 437 阅读 · 2 评论 -
jarvisoj_level1
jarvisoj_level1使用checksec查看:保护全关,并且还有RWX区域。栈溢出的题目的话直接ret2shellcode即可。放进IDA中查看:主函数中直接给出漏洞函数:妥妥的一个栈溢出了,程序会输出buf的地址。查看了下字符串也没有关键字符串,看来就是ret2shellcode然而…BUU上的环境可能有点问题。并不能打通。于是…使用ret2libc的方式。用write泄露libc的地址,然后捣鼓捣鼓。exp:from pwn import *from six imp原创 2021-12-03 11:18:46 · 2227 阅读 · 0 评论 -
bbys_tu_2016
bbys_tu_2016使用checksec查看:只开启了栈不可执行,看样子是栈溢出的题目。拉进IDA中查看:将用户输入的数据写入v4,但是并没有限制写入的长度,存在栈溢出。查看下字符串,发现后门函数printFlag():那就直接溢出跳过来就完事。然而事情并没有这样就结束,打了两次发现flag出不来,就用gdb调试了下:输入的位置为0xffffd714,ebp位置为0xffffd728实际的距离是0x14并不是IDA中所显示的0xcexp:from pwn import *原创 2021-12-01 11:53:35 · 1049 阅读 · 0 评论