- 博客(4)
- 收藏
- 关注
原创 ciscn_2019_sw_1 Writeup
前提RELRO防御策略是当RELRO保护:为NO RELRO的时候,init.array、fini.array、got.plt均可读可写为PARTIAL RELRO的时候,ini.array、fini.array可读不可写,got.plt可读可写为FULL RELRO时,init.array、fini.array、got.plt均可读不可写。linux程序运行时:在加载的时候,会依次调用init.array数组中的每一个函数指针在结束的时候,依次调用fini.array中的每一个函数
2021-05-11 21:44:48
547
原创 ciscn_2019_n_3 Writeup
前提本程序中的释放堆块后未对堆块指针置空,从而可能引发UAF。程序本身带有函数system(),可以直接使用system@plt的方式使用该函数。涉及堆块结构的代码如下下文所示,第一种块大小固定位0x10(0x11),有一种块大小可控,最大为0x400。//当堆块结构是integer时*(_DWORD *)v3 = rec_int_print;*(_DWORD *)(v3 + 4) = rec_int_free;*(_DWORD *)(v3 + 8) = ask("Value");//
2021-05-10 19:25:52
505
3
原创 ciscn_2019_en_3 Writeup
前提与思路程序逻辑开始处,有两处输入信息然后立即输出进行确认的交互。经调试,但由于缓冲区长度设置问题,第二处输入与程序setbuffer+231的地址在栈中相连。当输入的字符串末的\x00被截断时,可以引导程序输出setbuffer+231在内存中的地址。本题部署于Ubuntu GLIBC 2.27-3ubuntu1的环境下。Tcache中的chunk可能可以被double free。使得获得任意区域内存改写能力。当__hook_free在内存中的地址被改写为one_gadget,执行
2021-05-09 16:03:29
389
3
原创 ciscn_2019_c_1 Writeup
ciscn_2019_c_1 Writeup前提本程序防御策略>checksec ./cisscn_2019_c_1Arch: amd64-64-littleRELRO: Partial RELROStack: No canary foundNX: NX enabledPIE: No PIE (0x400000)本程序逻辑是输入一个字符串,按照内置加密函数逻辑加密转化为密文。但在加密函数中存在溢出漏洞。存在strlen()函数。使用
2021-05-06 22:15:38
660
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人