题目地址:https://buuoj.cn/challenges#ciscn_2019_en_2
这道题本小白已经做了无数次了,但是每次都不是完全理解,这次回去又学了点基础的知识,算是最大彻大悟的一次了。
首先checksec,64位程序开了NX保护
[*] '/home/ssy/ctf/buuctf/ciscn_2019_en_2/cis'
Arch: amd64-64-little
RELRO: Partial RELRO
Stack: No canary found
NX: NX enabled
PIE: No PIE (0x400000)
然后我拖入ida并且只会f5,发现这三个函数是最有用的,其中begin函数没啥卵用。

main函数是一个小程序的界面

encrypt函数是一个加密函数,我们输入的字符串会被加密
64位程序栈溢出攻破与ROP利用:逆向加密与ret2libc实践

作者详细解析了一个CISCN_2019_en_2挑战中的64位程序,涉及栈溢出、加密函数破解、 strlen利用及ROP技术。通过ret2libc找到puts地址并进行栈溢出攻击,最终实现程序控制。
最低0.47元/天 解锁文章
211

被折叠的 条评论
为什么被折叠?



