首页
社区
课程
招聘
如何不通过一条python语句的方式获取到`gets_got_addr`的地址

问题描述

老师好,请问exp.py中的语句中的gets_got_addr,如果不通过e.got["gets"]的方式获取到的话,那么还有其他方式可以查看到对应的地址吗?
图片描述

问题出现的环境背景及自己尝试过哪些方法

在执行exp.py脚本时,write_plt_addr = e.plt["write"]报错如下:

1
2
3
4
5
6
    write_plt_addr = e.plt["write"]
  File "/usr/local/lib/python2.7/dist-packages/pwnlib/elf/elf.py", line 163, in __missing__
    return self[name]
  File "/usr/local/lib/python2.7/dist-packages/pwnlib/elf/elf.py", line 164, in __missing__
    raise KeyError(name)
KeyError: u'write'

于是我通过objdump -d -j .plt ./ret2libc1_32 | grep "write"语句直接获取到write_plt_addr的地址08048320 <write@plt>:,但不知道如何其他方式获取到gets_got_addr的地址

收藏
1条回答
Roger 2023-8-13

你可以看pwntools源码,可以参考ELF类的got方法是如何实现的

回复
零基础入门pwn
  参与学习     1765 人
  提问次数     35 个
《零基础入门pwn》,短时间内踏入漏洞利用的大门,快速成为一名合格的pwn题选手
我的问答 领取收益
0
我的提问
0
我的回答
0
学习收益