强网杯2018 stkof
前言
打算做下拟态的两道题,这是第一题
漏洞利用
pwn1为32位,pwn2为64位,溢出点有错位,pwn1的rtn在pwn2的rbp里,使用add esp,0x100的gadgets让两块gadget区域分开,套路一致,先read改stack_prot为0x7,之后pop_eax放入stack_end,调用make_stack_executable使得栈可执行,call esp调用shellcode即可,中间调用no_nx的时候有点坑,要微调一下放入一个stack_end参数,方可使程序执行。
exp.py
1 | #coding=utf-8 |