-
-
[原创]KCTF2020秋季赛 第九题 命悬一线 栈溢出-修改增加难度
-
发表于: 2020-10-26 23:06 2760
-
一道栈溢出
程序开启了canary和nx 存在绕过canary
发现了程序使用了类
在类函数中可以存在虚表,可以通过修改虚表达到劫持程序流程
可以通过修改rax来劫持程序流程。
可以看到程序调用函数
使用了dlope 和dlsym 通过dlopen打开libc,然后使用dlsym动态获取获取函数地址,
字符串都已经异或加密了,增加了恶心成分+1
程序检测了/proc/%d/status 文件中的TracerPid来判断是否被调试
程序增加了反调试,检测了ptrace,在docker中patch会返回-1,在正常环境是运行不了的,找到了patch,使用的是汇编syscall,当然静态是看不到的,在运行时候还原的,恶心成分+1,
patch 程序后使用gdb调试单步跟踪,可以看到在析构中有个输出是使用syscall调用 write输出的。
构造rop获得shell
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2020-12-9 17:02
被kanxue编辑
,原因:
赞赏
他的文章
谁下载
看原图
赞赏
雪币:
留言: