[PWN][进阶篇]使用GDB附加调试64位程序

使用GDB附加调试64位程序

pwntools开发脚本时如何调试:
1、使用proc.pidof§函数先将被测函数的PID打印出来
2、 用GDB Attach上去调试即可

本次实验的代码如下:
在这里插入图片描述
使用checksec指令来看看
在这里插入图片描述没有nx保护,没有pie保护,地址不随机化,没有栈执行的保护,没有stack保护,64位的程序
使用objdump指令看看汇编语句
在这里插入图片描述典型的64位可以看到rbp什么的
在这里插入图片描述
看到了expliot函数,这个是我们要利用的函数

在这里插入图片描述
然后开启gdb,老规矩,pattern create 200
r
在这里插入图片描述在这里插入图片描述
现在开始写exp

代码如下
在这里插入图片描述
输出pid主要是为了下一步附加进程分析用的,p64后面的地址是exploit的函数入口地址

在这里插入图片描述
getshell成功

调试的话要在sendline之前暂停一下,把gdb附加进去
在这里插入图片描述暂停成功
在这里插入图片描述

附加成功,暂停到了cmp指令
在这里插入图片描述然后exp那边先运行了,获取了shell,然后在gdb这边一直单步
在这里插入图片描述
单步到这里,我们分析一下,gets中我们会获取什么,是不是我们刚才填充的a啊,对吧
在这里插入图片描述
我们可以看到寄存器中都是a,继续单步
在这里插入图片描述在这里插入图片描述我们ret到了expliot函数那里,汉看到了call system函数

在这里插入图片描述
调用成功,nice!!如下图
在这里插入图片描述当我们修改一下exp
在这里插入图片描述
我们运行一下看看哈
在这里插入图片描述
希望大家有所收获!!!

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鹏华李

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值