首页
社区
课程
招聘
看雪CTF2019Q1-第9题
发表于: 2019-3-19 00:50 3225

看雪CTF2019Q1-第9题

2019-3-19 00:50
3225
checksec candcpp
    Arch:     amd64-64-little
    RELRO:    Partial RELRO
    Stack:    Canary found
    NX:       NX enabled
    PIE:      No PIE (0x400000)
    FORTIFY:  Enabled

    Arch:     amd64-64-little
    RELRO:    Partial RELRO
    Stack:    Canary found
    NX:       NX enabled
    PIE:      No PIE (0x400000)
    FORTIFY:  Enabled

功能
1. malloc
2. free
3. new
4. delete
5. puts
6. exit
>> 

1. malloc
2. free
3. new
4. delete
5. puts
6. exit
>> 

创建malloc/new
nblock=(len+14)/15;
g_ary_ptr[ary_index] = fn(nblock);
g_ary_block_size[ary_index] = nblock;

struct st_malloc_block{
	QWORD unused;
	char buf[16]; //初始化为0
};

struct st_malloc {
	st_malloc_block[nblock]; // << ret_ptr
};

struct st_new_block {
	QWORD vtbl; //delete时会判断vtbl[0], 如果不是0x400F20就会调用 
	char buf[16]; //初始化为0
};

struct st_new {
	QWORD nblock;
	st_new_block[nblock]; // << ret_ptr
};

nblock=(len+14)/15;
g_ary_ptr[ary_index] = fn(nblock);
g_ary_block_size[ary_index] = nblock;

struct st_malloc_block{
	QWORD unused;
	char buf[16]; //初始化为0
};

struct st_malloc {
	st_malloc_block[nblock]; // << ret_ptr
};

struct st_new_block {
	QWORD vtbl; //delete时会判断vtbl[0], 如果不是0x400F20就会调用 
	char buf[16]; //初始化为0
};

struct st_new {
	QWORD nblock;
	st_new_block[nblock]; // << ret_ptr
};


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2019-3-19 00:54 被风间仁编辑 ,原因:
收藏
免费 2
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//