使用GDB附加调试64位程序

举报
拈花倾城 发表于 2022/01/14 13:31:14 2022/01/14
【摘要】 使用GDB附加调试64位程序

@TOC

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
在这里插入图片描述
我们运行一下看看哈
在这里插入图片描述
希望大家有所收获!!!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。