异构PWN(2)-ARM(2025领航杯_arm-ret2libc)
参考文章 深入异构 PWN:PowerPC&ARM&MIPS-先知社区 [原创] CTF 中 ARM & AArch64 架构下的 Pwn-Pwn-看雪论坛-安全社区|非营利性质技术交流社区 环境配置sudo apt-get install gdb-multiarchsudo apt updatesudo apt install qemusudo apt-get install qemu-user sudo apt-get install qemu-user-binfmt sudo apt-get install "binfmt*"##搜索libcsudo apt search "libc6" | grep arm##根据输出,自行选择所需的库,如:sudo apt install libc6-armel-cross #对应arm32sudo apt install libc6-dbg-arm64-cross #对应arm64 http://ports.ubuntu.com/pool/main/g/glibc...
异构PWN(1)-初探
一些在异构PWN中比较具有共性的操作和问题会在此处记录 基本工具安装qemu安装安装qemu qemu-user qemu-user-static$sudo apt-get install qemu qemu-user qemu-user-static安装qemu-system$ sudo apt-get install qemu-system uml-utilities bridge-utils qemu-usr :指定动态链接库运行 安装动态链接库$ sudo apt search "libc6" | grep arm$ sudo apt install libc6-armel-cross #对应arm32$ sudo apt install libc6-dbg-arm64-cross #对应arm64 如果需要安装其他版本的动态链接库,可以在 http://ports.ubuntu.com/pool/main/g/glibc/ 中选择相应架构和版本下载 qemu-user-static :包含了所有必需的库和二进制文件,运行静态链接...
关节玩偶制作全流程
零、走马灯 由于直接购买玩偶的价格有点过于expensive了,干脆就买了一套工具自己缝,1/5的价格 本来打算假期每天做一点,国庆结束正好完工。然而10月2号上午被神必安卓逆向吓晕,醒过来之后不想碰电脑了,14:00开始做,23:15就做完了,9小时无伤通关针线活,难道我真是天才? 于是正好和之前的娃娃组成了「提线的本我 · 低配版」,要素还是比较齐全的 一、材料 & 工具 配置1. 材料核心出装:一块布 & 线 & 一袋棉花 配件:眼珠 & 鼻子 & 关节片 配件买现成的就好 2. 工具 针线包:缝合 热消笔:蒙版画线,电吹风一吹颜色就消失了 剪刀:裁布料 镊子:充棉 老虎钳:拧关节片 定位针:辅助定位,防止缝歪 增重珠:增加身体重量,耳朵捶感 酒精胶:加固蝴蝶结、鼻子 钢刷:刷毛,掩盖手作痕迹 二、前置知识穿针 & 打结参考教程:如何穿针和打结: 14 步骤 笔者这里建议打结时至少绕3~4个线圈,不然翻面时很容易崩开 平针法(基本缝合)两块布料贴合,从背面进针,正面出针,然后按着方向穿回去,针一上一下平稳缝...
江苏移动“赋能建功”-二进制相关
江苏移动“赋能建功”-二进制相关PWN(已完成)分析 32位的,好古老的程序,江苏移动找的出题人不会是哪里抄的吧。。。 开启Cannary,没开PIE; RELRO部分开:GOT表可被覆盖 👆一开始代码很乱,scanf显然多传了无用参数,只有前两个参数有效,属于反编译产生的噪音,人工优化一下👇 明显可以审到利用点如下: 第1次输入:read(0, buf, 81u); off_by_one 结合下面的printf泄露canary 第2次输入:printf的idx可以数组负数越界获取got表信息 第3次输入:往bss段上布置东西 第4次输入:正好控到ebp,可以栈迁移,控制程序流 我们可以泄露canary值,再通过数组负数越界获取got表信息,计算出onegadget,最后利用栈迁移,将栈迁移到我们设计好的bss段中,触发onegadget,获取shell。 expfrom pwn import *context.log_level = 'debug'context.terminal = ["tmux", "s...
Cobalt_Strike 无 .cobaltstrike.beacon_keys 流量解密
Cobalt_Strike 无 .cobaltstrike.beacon_keys 流量解密 暂且先就题论题,后续将把文章扩充为 应急响应之CS流量解密一文通 走马灯其实这次移动的比赛质量很高,极其贴近实际生活中的工作内容,包括服务器安全配置,数据分级,应急响应等。 第二天发布了wp,有太多题目一离开赛场就成千古悬案了,这就是国企的担当啊!对移动好感up!(虽然无图/很多步骤一句带过) 可惜去年在 湖南大学参加比赛 导致开学要缓考,等考试结束比赛只剩下一小时出头,把题目都扫了一遍,发现这道应急响应工作中出现的cs流量解密,很有意思 知识学爆(正在施工中)在做题之前,先来了解一下cobalt_Strike Cobalt Strike 是一款很常用的GUI的框架式渗透工具,集成了端口转发、服务扫描,自动化溢出,多模式端口监听,win exe木马生成,win dll木马生成,java木马生成,office宏病毒生成,木马捆绑;钓鱼攻击包括:站点克隆,目标信息获取,java执行,浏览器自动攻击等等。 加密算法Cobalt Strike 服务端和客户端是通过 SSL 加密通讯的 (默认证...
「ret2all」有关栈的一切
诚如出题人评价「一件完美的艺术品,葬下了整个栈时代」 用到的所有技巧都是入门阶段应知应会的栈上技巧,完全不涉及更高阶的技法。 本题几乎已经把栈上可用的技巧穷尽,于是笔者拿来作为复健练习 复现完笔者已经猪脑过载了,尽可能在基于出题人的思维上,也阐述了笔者”这里为什么要这样做“的思考 分析checksec除canary其余保护全开 init函数 设置缓冲区,然后将rread函数的rbp和ret数值存储到了bss段,再输出出来,最后mprotect将bss段权限改为只读防止更改 seccomp line CODE JT JF K================================= 0000: 0x20 0x00 0x00 0x00000004 A = arch 0001: 0x15 0x00 0x27 0xc000003e if (A != ARCH_X86_64) goto 0041 0002: 0x20 0x00 0x00 0x00000000 A = sys_number 0003: 0x35 0x00 0x01 0x4000000...
江苏省数据安全技术应用职业技能竞赛决赛_逆向WP
关于比赛学生组第2名,498分,离第1就差了4分,略有遗憾。不知道奖金是不是每个组都有,如果每个组都有的话还能喜提2k奖金,保底有个奖杯🏆还是不错的。 听学长说是misc,crypto,re混合赛才参加的,结果今年基本纯 misc + 1道 web 渗透 + 1道re,有一半的实操题要渗透打进去了才能拿到附件,但众所周知我除了 web 什么都会做一点,所以有一半的实操题都没拿到附件,所幸赛后有好心选手分享,我也拿到了此次比赛唯一一道逆向题的附件。 其他题简单描述一下,首先misc大部分是写爬虫,或者用其他手段爬取数据,尽量学会python写爬虫;剩余的则是常见的misc/数据处理;web其实就是一道弱口令,密码是项目的名字,我把我所知的渗透方法都尝试了也没想到是弱口令啊,遗憾离场😭;模型安全需要自己反推一个sigmoid的公式,推出来就很简单了,我应该就是靠的这道题才爬到第2的。 就简单写一下逆向的wp了 题目分析题目描述 校园网管理系统的下载管理模块中,password.zip中的csv文件被可疑程序加密(加密的时间是2025年8月18日上午8-12点),导致部分数据无法正...
fastbin_attack系列
fastbin_attackIntroductionfastbin attack指所有基于fastbin机制的漏洞利用方法,利用前提: 存在堆溢出、uaf等能控制chunk内容的漏洞 漏洞发生于 fastbin类型的chunk中 细分可做到如下分类 Fastbin Double Free House of Spirit Fastbin Double Free 和 House of Spirit 侧重“正常由用户创建的chunk”和“由攻击者伪造的chunk”,然后再次申请chunk进行攻击 Alloc to Stack Arbitary Alloc Alloc to Stack 和 Arbitary Alloc 侧重利用堆溢出等方式修改chunk的fd指针,即直接申请指定位置的chunk进行攻击 Principleif a chunk is freed and goes into fastbin the prev_inuse flag of the next heap will not be cleared PREV_INUSE(abbreviated a...
NPC_final出题小记(通过fmt进行RSA-CRT Fault Injection)
前言 本题源码改自于2022 Samsung的SecureRunner 本题是一道二进制分析和密码学相结合的题,笔者认为出这种题还是很有趣的。 本题暂已托管至西安电子科技大学CTF终端供大家练习复现 链接:NPC²CTF 2025 - 西电 CTF 终端 其余用途均需通过 关于笔者 中的邮箱征得笔者同意 题目编写源码源码会开源到我的github仓库 解题步骤题目描述小睦的大脑里只有签名正确的命令才能执行,可小睦睡着了,Mortis 太 fw 了不知道私钥。 看来只能和 Mortis 把脑内小剧场破坏的乱七八糟才能拿 flag 了 (简单 Crypto + 签到 PWN = 也许还行的大粪 CRYpwnTO)(需要一点基础的二进制分析能力) 为了降低难度,把这题的密码考点(RSA-CRT Fault Injection)单独编了一个题(即task.zip中的just_a_hint.py)作为提示 靶机连接 连上靶机后忽略没什么用的剧情,结合文字信息和对各种选项的尝试,可以提炼出以下要点 选项1可以获取RSA公钥 选项2可以执行命令,但同时需要输入命令和这条命令正确的si...
